     public init(_ slice: TensorSlice<UnitType>) {
         self.init(elementShape: slice.elementShape, units: ContiguousArray(slice.units))
     }
-
 }
 
 /// - TODO: Add conditional expressibility conformance in Swift 4
 
 public extension Tensor where UnitType : Equatable {
-
     public static func ==(lhs: Tensor<UnitType>, rhs: Tensor<UnitType>) -> Bool {
         return lhs.elementsEqual(rhs)
     }

    mutating func updateUnit(at index: Int, to newValue: UnitType) {
        units[units.startIndex.advanced(by: index)] = newValue
    }

}

public extension Tensor where UnitType : Numeric {

    mutating func incrementUnit(at index: Int, by newValue: UnitType) {
        units[units.startIndex.advanced(by: index)] += newValue
    }

    public func unitsEqual(_ other: Tensor<UnitType>) -> Bool {
        return units.elementsEqual(other.units)
    }
}

public extension TensorProtocol {
    public func isSimilar(to other: Self) -> Bool {
        return shape ~ other.shape
    }
