note for y combinator regarding type in haskell