     @usableFromInline
     internal let transform: (inout Result, Base.Element) -> Void
 
-    @usableFromInline
+    @inlinable
     internal init(
       iterator: Base.Iterator,
       current: Result? = nil,

  @usableFromInline
  internal let transform: (inout Result, Base.Element) -> Void

  @usableFromInline
  internal init(
    base: Base,
    initial: Result,

    internal let representation: ReductionsIndexRepresentation<Base.Index, Base.Element>

    @inlinable
    internal init(
      _ representation: ReductionsIndexRepresentation<Base.Index, Base.Element>
    ) {
      self.representation = representation
    }

    @inlinable
    public static func < (lhs: Self, rhs: Self) -> Bool {
      lhs.representation < rhs.representation
    }
  }

  @inlinable
  public var startIndex: Index {
    guard base.startIndex != base.endIndex else { return endIndex }
    return Index(.start)
  }

  @inlinable
  public var endIndex: Index { Index(.end) }

  @inlinable
  public subscript(position: Index) -> Base.Element {
