refactor ContextIndex. Hold Schema and IndexImpl in one map instead of two.
This way the compiler enforces, that a context always contains of both Schema and Index.

Binary instances are not ideal right now though, because they still serialize Schema
and Index seperate.