use crateMonoid;
use crateOperator;
// I don't know... I'd like to use GroupOrder<T = Self, O: Operator> here but this doesn't work?
// => Type parameters with a default must be trailing ?
// no implementation is given as seeing e.g. i32 as infinite or limited is "contextual"