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

//===--- Ad-hoc random access collection adapter proof-of-concept ---------===//
public struct RandomAccessStructure<
  C: CollectionType where C.Index: RandomAccessIndexType
> : StructuralDescriptionType {

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

  case Struct, Class, Enum, Optional, Array, Dictionary, Set
  }

  public init(_ structure: ReflectedStructureType, schema: Schema? = nil) {
    self.structure = structure
    self.schema = schema
  }

  public let structure: ReflectedStructureType
  public let schema: Schema?
}

