  We present a denotational account of dynamic allocation of potentially cyclic
memory cells using a monad on a functor category. We identify the collection of
heaps as an object in a different functor category equipped with a monad for
adding hiding/encapsulation capabilities to the heaps. We derive a monad for
full ground references supporting effect masking by applying a state monad
transformer to the encapsulation monad. To evaluate the monad, we present a
denotational semantics for a call-by-value calculus with full ground
references, and validate associated code transformations.
