> invM :: Maybe a -> Maybe () > invM Nothing = Just () > invM (Just _) = Nothing > > invL :: [] a -> [] () > invL [] = [()] > invL (_:_) = [] > > > How can I define this for an arbitrary Monad m? Such as Identity?