Object:
  superclasses:
  interfaces:
  classMembers:
    Object._haveSameRuntimeType
    Object.toString
    Object.runtimeType
    Object._toString
    Object._simpleInstanceOf
    Object._hashCodeRnd
    Object._instanceOf
    Object.noSuchMethod
    Object._objectHashCode
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:

Iterable:
  superclasses:
    Object
  interfaces:
  classMembers:
    Iterable.iterator
    Iterable.map
    Iterable.cast
    Iterable.skip
    Iterable.join
    Iterable.toSet
    Iterable.toString
    Iterable.forEach
    Iterable.length
    Iterable.firstWhere
    Object.runtimeType
    Object._simpleInstanceOf
    Iterable.isEmpty
    Iterable.take
    Iterable.any
    Iterable.isNotEmpty
    Iterable.whereType
    Iterable.where
    Object._instanceOf
    Iterable.skipWhile
    Iterable.castFrom
    Iterable.toList
    Object.noSuchMethod
    Iterable.fold
    Iterable.elementAt
    Iterable.expand
    Iterable.takeWhile
    Iterable.first
    Object._identityHashCode
    Object.hashCode
    Iterable.reduce
    Iterable.lastWhere
    Iterable.last
    Object._simpleInstanceOfFalse
    Iterable.single
    Iterable.every
    Iterable.contains
    Object._simpleInstanceOfTrue
    Object.==
    Iterable.followedBy
    Iterable.singleWhere
  classSetters:

C:
  superclasses:
    Object
      -> Iterable<Object>
  interfaces:
  classMembers:
    Iterable.iterator
    Iterable.map
    Iterable.cast
    Iterable.skip
    Iterable.join
    Iterable.toSet
    Iterable.toString
    Iterable.forEach
    Iterable.length
    Iterable.firstWhere
    Object.runtimeType
    Object._simpleInstanceOf
    Iterable.isEmpty
    Iterable.take
    Iterable.any
    Iterable.isNotEmpty
    Iterable.whereType
    Iterable.where
    Object._instanceOf
    Iterable.skipWhile
    Iterable.toList
    Object.noSuchMethod
    Iterable.fold
    Iterable.elementAt
    Iterable.expand
    Iterable.takeWhile
    Iterable.first
    Object._identityHashCode
    Object.hashCode
    Iterable.reduce
    Iterable.lastWhere
    Iterable.last
    Object._simpleInstanceOfFalse
    Iterable.single
    Iterable.every
    Iterable.contains
    Object._simpleInstanceOfTrue
    Object.==
    Iterable.followedBy
    Iterable.singleWhere
  classSetters:
