   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) ->

  else
    filter = (val) -> true
  (elementNode.content.valueDefinition?.values or []).filter filter


# Takes *Element* node and lists its attributes, such as `required`, `fixed`, etc.

# Utility functions for inspecting the MSON AST tree


# Listing of all primitive types as defined in MSON AST spec.
primitiveTypes = ['boolean', 'string', 'number']


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