public static bool TestCompositionWithIdentity()
        {
            var id = new InvertibleIDArrow <int>();
            var f  = Op.Arr((int x) => x * 7 - 1,
                            (int x) => (x + 1) / 7);

            var fID = f.Combine(id);
            var idF = id.Combine(f);

            return(ArrowTestUtils.AssertInvertibleArrowsGiveSameOutput(fID, idF));
        }
        public static bool TestCompositionWithIdentity()
        {
            var id = new InvertibleIDArrow<int>();
            var f = Op.Arr((int x) => x * 7 - 1,
                            (int x) => (x + 1) / 7);

            var fID = f.Combine(id);
            var idF = id.Combine(f);

            return ArrowTestUtils.AssertInvertibleArrowsGiveSameOutput(fID, idF);
        }