monad.Option is flatten by default, Full(Empty) -> Empty, Empty(Full) -> Empty