Marshalling `NewNumericDate(time.Unix(253402271999, 0))` will result in `-4852145033` instead of `253402271999` Updates: This is due to the fact that `Time.UnixNano()` overflows, and `NumericDate.MarshalJSON()` internally uses this method. PR #200 created to workaround this std library limitation.