t() :: %Polyjuice.Util.Identifiers.V1.UserIdentifier{ domain: String.t(), localpart: String.t(), sigil: String.t() }
generate(domain :: String.t()) :: t()
new(String.t(), String.t()) :: {:ok, t()} | {:error, atom()}