!6     SafeUmorphisms-objects yWhen providing a new instance, you should ensure it satisfies the one law: * Associativity: x <> (y <> z) "a (x <> y) <> zmorphisms-objectsInfix version of morphisms-objectsPrefix version of SafeUmorphisms-objects When providing a new instance, you should ensure it satisfies the two law: * Right absorption: unit <> x "a x * Left absorption: x <> unit "a xSafeU morphisms-objects When providing a new instance, you should ensure it satisfies the two law: * Right absorption: x <> inverse x "a unit * Left absorption: inverse x <> x "a unitSafeUmorphisms-objects When providing a new instance, you should ensure it satisfies the four law: * Reflexivity: x == x "a True * Symmetry: x == y "a y == x * Transitivity: x == y && y == z "a True ===> x == z "a True * Negation: x /= y "a not (x == y)    4 4 3 SafeUmorphisms-objects When providing a new instance, you should ensure it satisfies the three law: * Reflexivity: x <= x "a True * Transitivity: x <= y && y <= z "a True ===> x <= z "a True * Antisymmetry: x <= y && y <= x "a True ===> x == y "a True  SafeUD       !".morphisms-objects-0.1.1-6hcskTWkGgF9B0nK8a4LVoControl.Object.SemigroupControl.Object.MonoidControl.Object.GroupControl.Object.SetoidControl.Object.ChainControl.Object Semigroup<>binopMonoidunitGroupinverseSetoid==/=BooleanTrueFalse&&||notboolChain<=>=<>OrderingLessEqualGreaterorder