Typing

See Haskell Typing