     ///
     /// - Precondition: The next value is representable.
     // FIXME: swift-3-indexing-model: pull the following logic into UTF8View.next(Index)
-    /*
-    public func successor() -> Index {
+    internal func _successor() -> Index {
       _precondition(_base != _base._viewEndIndex, "cannot increment endIndex")
       return Index(_base: _endBase)
     }
-    */
 
     /// Returns the previous consecutive value before `self`.
     ///
     /// - Precondition: The previous value is representable.
     // FIXME: swift-3-indexing-model: pull the following logic into UTF8View.previous(Index)
-    /*
-    public func predecessor() -> Index {
+    internal func _predecessor() -> Index {
       _precondition(_base != _base._viewStartIndex,
           "cannot decrement startIndex")
       let predecessorLengthUTF16 =

        _base: UnicodeScalarView.Index(
          _utf16Index - predecessorLengthUTF16, _base._core))
    }
    */

    internal let _base: UnicodeScalarView.Index


  @warn_unused_result
  public func next(i: Index) -> Index {
    // FIXME: swift-3-indexing-model: range check i?
    return i._successor()
  }

  // TODO: swift-3-indexing-model - add docs
  @warn_unused_result
  public func previous(i: Index) -> Index {
    return i._predecessor()
  }

  /// Access the `Character` at `position`.
