Still exploring monads. I don't understand why the type signature for double is OK, but not the one for iota.

Michael

=================

--double :: (Int a) => a -> Maybe b
--double x = Just (x + x)

iota :: (Int a) => a -> [b]
iota  n = [1..n]

--usage: [3,4,5] >>= iota
--should produce [1,2,3,1,2,3,4,1,2,3,4,5]