overlay<T, F extends Fields> static method

WriteValue<T, F> overlay<T, F extends Fields>(
  1. WriteValue<T, F> earlier,
  2. WriteValue<T, F> later
)

Uses the later supplied intent, or keeps the earlier one when omitted.

This is static so the runtime type of an inferred WriteValue<Never, F> cannot narrow the accepted type of a later value through covariance.

Implementation

static WriteValue<T, F> overlay<T, F extends Fields>(
  WriteValue<T, F> earlier,
  WriteValue<T, F> later,
) => later.isMissing ? earlier : later;