         }
     }
     
+    public var bidegrees: [(Int, Int)] {
+        return base.bidegrees
+    }
+    
     public func shifted(_ i: Int, _ j: Int) -> ChainComplex2<A, R> {
         return shifted(IntList(i, j))
     }

            if debug { Swift.print(msg()) }
        }
        
        for I0 in base.mDegrees {
            let I1 = I0 + dDegree
            let I2 = I1 + dDegree
            

        return base.topDegree
    }
    
    public var degrees: [Int] {
        return base.degrees
    }
    
    public func shifted(_ i: Int) -> ChainComplex<A, R> {
        return shifted(IntList(i))
    }
