It is possible to create an `Amount` with a value up to `u64::MAX` which can cause rounding errors as discussed in #3688. The lower `Amount::MAX` invariant introduced in #3693 should be enforced.