Evaluable
types
empty
MonadFilter MonoidK
eval
Suspendable
evalOnce
Memoizable
extract
Comonad