Stefan Monnier writes: > There wasn't enough space in the margin for it, sorry, Very funny, ehm - here is a proof of concept. It is not exactly what you suggested: you have to declare dependencies explicitly (I think this would even make code better readable). But dependencies do not need to be sscells - I made it so that dependencies can be arbitrary expressions (this includes variables as major case), and an equivalence predicate for testing can be optionally specified, defaulting to #'eq. You can make an sscell B depend on the value of sscell A by making B depend on the expression (sscell-get A). These sscell objects are a generalization of thunks as in thunk.el, and sscell-let is a generalization of thunk-let.