Typed Inttegro domain value.
@type t() :: %Inttegro.Amount{currency: Inttegro.Currency.t(), value: integer()}
@spec from_map(map()) :: t()
@spec new!(map() | keyword()) :: t()
@spec to_map(t()) :: map()