The InvariantFunctor rule isn't strong enough; just require associativity directly.