#KJ-80 6. Cleanup the dependencies between the two semantics. Fixed bugs in the previous commit.