translate. throw if key hides api. test for propagating child changes.