interface EuclideanRing a => DivisionRing a => Field a where {}
A field: a commutative Euclidean ring with reciprocals. Marker interface (= EuclideanRing + DivisionRing). Rational is a Field; Double is not (its div/mod semantics are still open — see EuclideanRing).
Instances : Rational