<para>A vertical bar denotes disjunction, i.e. one of the two sides is required.
A comma denotes conjunction, i.e. both sides are required.
Conjunction binds stronger than disjunction.</para>
<para>If no MINIMAL pragma is used, then all methods without a default will be required, excluding methods with a name that starts with an underscore.</para>
<para>
If no MINIMAL pragma is given in the class declaration, it is just as if
a pragma <literal>{-# MINIMAL op1, op2, ..., opn #-}</literal> was given, where
the <literal>opi</literal> are the methods
(a) that lack a default method in the class declaration, and
(b) whose name that does not start with an underscore