Adding a disambiguate method and a test for it. Appears to work.
Mapping on both sides (to lowest level) works in C++. That's all we need for this first merge scheme