Mappings

Picking up where #1374 (inadvertently) left off. Very WIP, definitely not ready for merge.