Assinatura da função Haskell
-- three degrees of polymoprhism in type signature
foo :: a -- any / all types, i.e. parametrically polymorphic | typically used when argument is any type/typeclass
bar :: Show a => a -- some types, i.e. ad-hoc polymorphic | typically used when argument is typeclass
qux :: Bool -- one type, i.e. monomorphic | typicaly used when argument is primitive type
Renz Carillo