Useful Monadic Functions: join
Useful Monadic Functions: filterM
filterM example: using the lessThanFour monadic predicate
filterM example: calculate a powerset of a list using a monadic predicate