partitionM package:extra

A version of partition that works with a monadic predicate.
partitionM (Just . even) [1,2,3] == Just ([2], [1,3])
partitionM (const Nothing) [1,2,3] == Nothing