Monetary amount with currency.
Build from a string-keyed or atom-keyed map.
Serialize to a string-keyed map.
@type t() :: %Worldpay.Schema.Amount{currency: String.t(), value: non_neg_integer()}
@spec from_map(%{required(String.t()) => term()} | %{required(atom()) => term()}) :: t()
@spec to_map(t()) :: %{required(String.t()) => term()}