     
     internal func dSplits(_ I: IntList) -> Bool {
         guard let from = self[I],
-            let to = self[I + d.mDegree],
+            let to = self[I + dDegree],
             let A = dMatrix(I) else {
                 return false
         }

    }
    
    public func homology(name: String? = nil) -> ModuleGrid<Dim, A, R> {
        let list = base.mDegrees
            .map{ I in (I, homology(I)) }
            .exclude{ base.defaultObject == .zeroModule && ($0.1?.isTrivial ?? false) }
        
        return ModuleGrid(
            name: name ?? "H(\(base.name))",
            default: base.defaultObject,
            list: list
        )
    }
    

        }
        
        for I0 in base.mDegrees {
            let I1 = I0 + dDegree
            let I2 = I1 + dDegree
            
            guard let s0 = self[I0],
                  let s1 = self[I1],
