     subscript(index: TensorIndex) -> Self { get }
 }
 
-public extension TensorProtocol where IndexDistance == Int {
-    /// Tensor shape
+public extension TensorProtocol {
     var shape: TensorShape {
         return elementShape?.prepending(count) ?? .scalar
     }

    }
}

internal extension TensorProtocol where IndexDistance == Int {
    func unitIndex(fromIndex index: Int) -> Int {
        return unitCountPerElement * index
    }

}

public extension RangeReplaceableRandomAccessSlice
    where Base : TensorProtocol, Base.Index == Int
{
    public var shape: TensorShape {
        return base.elementShape?.prepending(count) ?? .scalar
