Making Value() non-virtual helps solve AOT problems with Value<int?>()