 #
 # However, this 'race condition' probably can't happen anyway, so these
 # approaches shouldn't(tm) make a difference.
-containsNestedMemberTypes = (node) ->
+isObject = (node) ->
   sections = node.sections or []
   memberSections = sections.filter (section) ->
     section.type is 'member'



# Helps to identify whether given node is an implicit array.
hasMultipleValues = (node) ->
  (node.valueDefinition?.values?.length or 0) > 1


# Helps to identify whether given node is an implicit object.

# Resolves implicit type for given *Named Type* or *Property Member*
# or *Value Member* tree node.
resolveImplicitType = (node, cb) ->
  isArr = isArray node
  isObj = isObject node

  if isObj and isArr
    # just playing safe, this should be already ensured by MSON parser
    cb new Error "Unable to resolve type. Ambiguous implicit type (seems to be both object and inline array)."
  else
    type = ('array' if isArr) or ('object' if isObj) or 'string'
    cb null, type


