convertOrNull
inline fun <S : Any, T : Any> S?.convertOrNull(path: String, from: String, to: String, convert: (S) -> T?): T?
Nullable target, Auto (ladder rows 3/7): absent → null silent; sanctioned null → null silent; broken → null + MappingDegradation.AbsorbedConversionError whose cause is the TYPED exception from toMappingException (metric pipelines stay pair-aware). Only Exceptions are absorbed: CancellationException and Errors always propagate.