Extended interface for equatable monomorphic types.

`include Equal0`

`type t`

Abstract type for equatable values.

`val equal : t equality`

`equal t1 t2`

tests if the values `t1`

and `t2`

are equal, and is used by the `=`

and `<>`

operators.

`val not_equal : t equality`

`not_equal t1 t2`

tests if the values `t1`

and `t2`

are *not* equal, and is used by `<>`

.

`not_eq t1 t2`

is a shorthand for `not (equal t1 t2)`

.

`val (=) : t equality`

Operator alias for `equal`

.

`val (<>) : t equality`

Operator alias for `not_equal`

.