option() :: {:is_index?, boolean(), :is_required?, boolean()}
options() :: [option()]
parse(String.t(), String.t(), options()) :: {:ok, map(), String.t()} | {:error, String.t()}