   listNestedElements arrayElementNode, ['value']
 
 
+# Convenience function.
+hasVariableValues = (elementNode) ->
+  !!listVariableValues(elementNode).length
+
+
+# Convenience function.
+haveVariableValues = (elementNodes) ->
+  for elementNode in elementNodes
+    if hasVariableValues elementNode
+      return true
+  false
+
+
 # Takes type node and finds out whether it has more than one value
 # in value definition.
 hasMultipleValues = (elementNode) ->

# Utility functions for inspecting the MSON AST tree


# Turns top-level *Named Type* into an *Element* carrying a *Value Member*.

  listProperties
  listItems
  listValues
  listVariableValues
  isRequired
  isFixed
  isOrInheritsFixed
  hasVariableValues
  haveVariableValues
  hasMultipleValues
  hasAnyMemberSections
  areIdenticalAndPrimitive
  listPossibleHeritages
  getHeritage
}
