Evaluable
types
empty
MonadFilter
MonoidK
eval
Suspendable
evalOnce
Memoizable
extract
Comonad