   @usableFromInline
   internal let transform: (inout Result, Base.Element) -> Void
 
-  @usableFromInline
+  @inlinable
   internal init(
     base: Base,
     initial: Result,

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

    @usableFromInline
    internal init(
      iterator: Base.Iterator,
      current: Result? = nil,

    func index(after i: Base.Index, previous: Base.Element) -> Index {
      let index = base.index(after: i)
      guard index != base.endIndex else { return endIndex }
      return Index(.base(index: index, result: transform(previous, base[index])))
    }
    switch i.representation {
    case .start:
