Lifted from #2542 , but has arisen before in various scattered proposals to extend the `Algebra` hierarchy to include: * `IntegralDomain` * `EuclideanDomain` * `UniqueFactorisationDomain` * `PrincipalIdealDomain` * ... which is (probably) too big a project to identify as a single issue/PR?