convertEntriesOrSkip

inline fun <KS : Any, VS : Any, KT : Any, VT : Any> Map<KS, VS?>.convertEntriesOrSkip(path: String, keyFrom: String, keyTo: String, valueFrom: String, valueTo: String, convertKey: (KS) -> KT?, convertValue: (VS) -> VT?): Map<KT, VT>

Map<K, V> default: each entry's key and value convert on their own ladders at path["key"], with the real type pairs keyFromkeyTo and valueFromvalueTo carried into typed causes. Broken key/value → drop entry + MappingDegradation.DroppedBrokenElement with the TYPED cause; null source value → drop + MappingDegradation.DroppedNullElement; sanctioned-null key/value → silent drop; post-conversion key collision → last-wins + MappingDegradation.DuplicateKey. Only Exceptions are absorbed: CancellationException and Errors always propagate.