 // Copy this implementation and modify the `shape` to create `FixedShapeTensor`s with other shapes.
 /// A `Tensor` with shape `[10, 10]`.
 public struct Tensor10x10: AdditiveArithmetic, FixedShapeTensor {
-  public typealias TangentVector = Tensor10x10
+  public typealias TangentVector = Self
   public static var shape: TensorShape { [10, 10] }
 
   @differentiable public var tensor: Tensor<Double> {

public struct Tensor28x62x1: AdditiveArithmetic, FixedShapeTensor {
  public typealias TangentVector = Self
  public static var shape: TensorShape { [28, 62, 1] }
  @differentiable public var tensor: Tensor<Double>

  @differentiable
  public init(_ tensor: Tensor<Double>) {
    precondition(tensor.shape == Self.shape)
    self.tensor = tensor
  }
}

      set { storage[i / 10, i % 10] = Tensor(newValue) }
    }
  }

  /// This vector's scalar values in a standard basis.
  @differentiable public var scalars: Scalars

