options() :: %{ optional(:keys) => :atoms | :atoms!, optional(:decimal) => boolean(), optional(:as) => as() }
t() :: term()
decode(t(), options()) :: any()