1 2 3 4
-- Implement join :: M (N (M (N a))) -> M (N a), given distrib :: N (M a) -> M (N a) and assuming M and N are instances -- of Monad. join a = fmap join (join $ fmap distrib a)