 
 /// Do not use this operator directly; call distance(start, end) instead.
 public
-func ~> <T : _ForwardIndexType>(start:T, rest: (_Distance, T)) -> T.Distance {
+func ~> <T : ForwardIndexType>(start:T, rest: (_Distance, T)) -> T.Distance {
   var p = start
   var count: T.Distance = 0
   let end = rest.1


/// Do not use this operator directly; call advance(start, n) instead.
@transparent
public func ~> <T : _ForwardIndexType>(
  start: T, rest: (_Advance, T.Distance)
) -> T {
  let n = rest.1

/// This protocol is an implementation detail of `BidirectionalIndexType`; do
/// not use it directly.
public protocol _BidirectionalIndexType
: ForwardIndexType, _BidirectionalIndexDefaultsType {
  mutating func _predecessorInPlace()
}

