Provides functions to configure and order different levels
t() :: atom()
weight() :: non_neg_integer()
all() :: [t()]
compare(left :: t(), right :: t()) :: :lt | :eq | :gt
get_weight(level :: t()) :: weight()
max() :: t()
min() :: t()
name_max_length() :: pos_integer()
parse(level :: atom()) :: t() | {:error, String.t()}
parse!(level :: atom()) :: t() | no_return()