HI It's one of those things - I know sort of instinctively why it is so but can't think of the formal rationale for it: f g x = g (g x) :: (t -> t) -> (t -> t) Why not (t -> t) -> t -> (t -> t) to take account of the argument x for g? Cheers Paul