An itemDefinition (DMN 1.6, 7.3.3): a type of the model. It has one of a type_ref (a built-in type or another item
definition), components (a context of them), and a function_item; or none of them, which is Any. allowed_values and
type_constraint are Dmn.Model.UnaryTests, and is_collection makes it a list of the type.
Summary
Types
@type t() :: %Dmn.Model.ItemDefinition{ allowed_values: Dmn.Model.UnaryTests.t() | nil, components: [t()], function_item: Dmn.Model.FunctionItem.t() | nil, id: String.t() | nil, is_collection: boolean(), label: String.t() | nil, line: pos_integer() | nil, name: String.t(), type_constraint: Dmn.Model.UnaryTests.t() | nil, type_language: String.t() | nil, type_ref: String.t() | nil }