             value[i] = DigitType(carry & 0xffff_ffff)
             if carry <= 0xffff_ffff { break }
         }
-        var result = BigUInt(rawValue:value)
-        result.trim()   // clean sentinel
-        return result
+        return BigUInt(rawValue:value)
     }
     /// addition never overflows
     public static func addWithOverflow(lhs:BigUInt, _ rhs:BigUInt)->(BigUInt, overflow:Bool) {

            value.removeLast()
        }
    }
    public subscript(i:Int)->Bit {
        get {
            let (digit, offset) = (i / 32, i % 32)

    public init(_ s:BigUInt) {
        self.value = s.value
    }
    // init from built-in types
    public init(_ u:UInt32) {
        value.append(u)
