   /// A `String` argument selects the first `Child` with a matching label.
   /// An integer argument *n* select the *n*\ th `Child`.  For example::
   ///
-  ///   var d = reflect(x).descendant(1, "two", 3)
+  ///   var d = Mirror(reflecting: x).descendant(1, "two", 3)
   ///
   /// is equivalent to:
   ///
   /// .. parsed-literal::
   ///
   ///   var d = nil
-  ///   let children = reflect(x).children
+  ///   let children = Mirror(reflecting: x).children
   ///   let p0 = advance(children.startIndex, **1**, children.endIndex)
   ///   if p0 != children.endIndex {
   ///     let grandChildren = reflect(children[p0].value).children

// without the ObjC Runtime.

/// Representation of the sub-structure and optional "display style"
/// of any arbitrary instance.
///
/// Describes the parts---such as stored properties, collection
/// elements, tuple elements, or the active enumeration case---that
/// make up any given instance.  May also supply a "display style"
/// property that suggests how this structure might be rendered.
///
/// Mirrors are used by playgrounds and the debugger.

  /// `Mirror`.  In general, though, the observability of such
  /// mutations is unspecified.
  public init(reflecting subject: Any) {
    if let customized as CustomPlaygroundQuickLookable = subject {
      self = customized.customPlaygroundQuickLook()
    }
    else {
