@type t() :: %KeenAuthPermissions.Error.ErrorStruct{ message: binary() | nil, metadata: map() | nil, reason: atom() }
@spec create(any(), any(), any()) :: struct()