Defining contexts
Can be implicitly defined by the type inference system based on operations used in the body
- Requires that operations are defined in only one class
- Cannot overload signatures in multiple classes
Contexts can also be defined explicitly
member :: (Eq a)=> a -> [a] -> Bool
member x (y:ys) = x==y or member x ys