TypeResolutionTable

As described in #91.
Done in f4a21aa4e6a7c7d1461a08dcc0d7bb253735ae5e and 8f3f4655c4548401d399131bb268f7df5590540f.