Optic.Either if it's a right value; otherwise, return defaultValue.Monoid instance formed by Boolean.other.otherSupplier.Throwable supplied by
throwableSupplier.T and throw
it.Optic, a function from A to B, and a "larger" value S,
produce a T by retrieving the A from the S, applying the function, and
updating the S with the B resulting from the function.