guarded even 2 == [2] guarded odd 2 == Nothing guarded (not.null) "My Name" == Just "My Name"
guardedA (return . even) 42 == Just [42] guardedA (return . odd) 42 == Just [] guardedA (const Nothing) 42 == (Nothing :: Maybe [Int])