A sanitized failure at a Parlora boundary.
@type t() :: %Parlora.Error{ __exception__: term(), code: atom(), details: map(), message: String.t() }
@spec new(atom(), String.t(), map()) :: t()
@spec tuple(atom(), String.t(), map()) :: {:error, t()}