! ASafemorphisms-objects yWhen providing a new instance, you should ensure it satisfies the one law: * Associativity: x <> (y <> z) = (x <> y) <> zmorphisms-objectsInfix version of morphisms-objectsPrefix version of Safemorphisms-objects When providing a new instance, you should ensure it satisfies the two law: * Right absorption: unit <> x = x * Left absorption: x <> unit = xSafe morphisms-objects When providing a new instance, you should ensure it satisfies the two law: * Right absorption: x <> inverse x = unit * Left absorption: inverse x <> x = unitSafe !   .morphisms-objects-0.1.0-E5hPJ3kpzzK2sF4Q9FzeBzControl.Object.SemigroupControl.Object.MonoidControl.Object.GroupControl.Object Semigroup<>binopMonoidunitGroupinverse