Type specifications used by the library.
component() :: binary | tuple
composite_id() :: binary
field() :: binary | component | [binary] | [component]
item_type() :: :field | :component | :repetition | :subcomponent
repetition() :: non_neg_integer
segment_id() :: binary
sequence() :: pos_integer
subcomponent() :: binary | tuple
value :: binary | integer | float | :calendar.date | :calendar.datetime
value_type() :: :string | :integer | :float | :date | :datetime