         }
         
         // case: obviously isom
-        if  let Ain = dMatrix(I - d.mDegree), Ain.isZero,
+        if  let Ain = dMatrix(I - dDegree), Ain.isZero,
             let Aout = dMatrix(I), Aout.isZero {
             return self[I]
         }

    }
    
    public func describeMap(_ I: IntList) {
        print("\(I) \(self[I]?.description ?? "?") -> \(self[I + d.mDegree]?.description ?? "?")")
        if let A = dMatrix(I) {
            print(A.detailDescription)
        }

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