Skip to main content

Function Signature

all the types in functions have to be concrete

a -> Maybe

Incorrect: because Maybe is a type constructor, not a complete type

a -> Maybe a

Correct: polymorphic version

Maybe Int -> Maybe String

Correct: specialize to concrete types