G'day all. Quoting Neil Mitchell <ndmitchell at gmail.com>: > Yes, its the projection onto another type: > > [] = Nothing > (x:xs) = Just (x, xs) Also known as msplit: http://www.haskell.org/haskellwiki/New_monads/MonadSplit Cheers, Andrew Bromage