sclass ExpiringValue { A value; long expires; // in sysNow() time *() {} *(A *value, long expiryTime) { expires = sysNow()+expiryTime; } A get() { checkExpiry(); ret value; } void checkExpiry { if (sysNow() > expires) value = null; } }