3 expressions types and parametric polymorphism
Since Haskell is statically typed, it can infer from the expression itself what function types we're using. Specifically, you can skip over function:: a -> b
and define function
directly.
table of contents: