 # The second approach makes more sense, because counting individual
 # nested objects would cause problems with empty "containers", which
 # are probably sufficient proof of nested members, but contain zero of them.
+#
+# However, this 'race condition' probably can't happen anyway, so these
+# approaches shouldn't(tm) make a difference.
 containsNestedMemberTypes = (node) ->
   sections = node.sections or []
   memberSections = sections.filter (section) ->

      cb err
    else if not spec
      resolveImplicitType node, (err, implicitType) ->
        cb err, {name: implicitType}
    else
      cb null, spec


findTypeSpecification = (node) ->
  if node.base?.typeSpecification?
    # Top-level *Named Type* node.
    node.base.typeSpecification
  else
    # *Property Member* or *Value Member* node
    node.valueDefinition?.typeDefinition?.typeSpecification
