Monad2 with the primitives unit, join and map[