Currently the idiom for mapping optional fields is:
ObjectMapper O(Val, P); if (!O.map("required1", Out.R1) || !O.map("required2", Out.R2)) return false; O.map("optional1", Out.O1); // ignore result return true;
If optional1 is present but malformed, then we won't detect/report
that error. We may even leave Out in an incomplete state while returning true.
Instead, we'd often prefer to ignore optional1 if it is absent, but otherwise
behave just like map().