@@ -48,8 +48,8 @@ For example, the
48Only one implementation of an interface can be given for a type — implementations may
48Only one implementation of an interface can be given for a type — implementations may
49not overlap. Implementation declarations can themselves have constraints.
49not overlap. Implementation declarations can themselves have constraints.
50To help with resolution, the arguments of an implementation must be
50To help with resolution, the arguments of an implementation must be
51−constructors (either data or type constructors), variables or
51+constructors (either data or type constructors) or variables
52−constants (i.e. you cannot give an implementation for a function). For
52+(i.e. you cannot give an implementation for a function). For
53example, to define a ``Show`` implementation for vectors, we need to know
53example, to define a ``Show`` implementation for vectors, we need to know
54that there is a ``Show`` implementation for the element type, because we are
54that there is a ``Show`` implementation for the element type, because we are
55going to use it to convert each element to a ``String``:
55going to use it to convert each element to a ``String``: