auth() :: %{user: binary(), password: binary()} | %{access_token: binary()} | %{jwt: binary()}
t() :: %Tentacat.Client{auth: auth() | nil, endpoint: binary()}
new() :: t()
new(binary()) :: t()
new(map()) :: t()
new(map(), binary()) :: t()
new(auth(), binary()) :: t()