Typed refusal struct representing formal domain refusals in ex4pm.
@type t() :: %Ex4pm.Refusal{ code: atom(), details: map(), message: String.t(), subject: term() | nil }