Note: this doesn't necessarily have to be called from_signed_fields.
Currently, the ECMAScript constructors can be called with integer values.
This means it is entirely possible that a PlainTime may be called with negative values that need to be rejected. In order to best preserve specification compliance, we should have something that allows passing the integer field values, even if the negative values will be rejected.