 // RUN: %target-run-simple-swift
 
-public typealias StructuralChild = (label: String?, value: Any)
+public typealias ReflectedChild = (label: String?, value: Any)
 
 // The thing you have to implement
-public protocol StructuralDescriptionType {
+public protocol ReflectedStructureType {
   func count() -> Int
-  func childAtOffset(offset: Int) -> StructuralChild
+  func childrenInRange(range: Range<Int>) -> Array<ReflectedChild>
 }
 
 // The thing with the default schema

  }
}

//===--- StructuralDescriptionType for Aggregates -------------------------===//
public struct LabeledStructure
  : StructuralDescriptionType, DictionaryLiteralConvertible {
  public init(dictionaryLiteral elements: (String, Any)...) {
    self.elements = elements
  }

//===--- Horrible ad-hoc forward collection adapter proof-of-concept. -----===//
public struct ForwardStructure<
  C: CollectionType where C.Index: ForwardIndexType
> : ReflectedStructureType {

  public init(_ elements: C) {
    self.elements = elements
