separated TypeOf from rest
T_Subsume added back in for simplicity

less unifying of made up variables everywhere hopefully
through example 3 proven

It seems like there is a delicate art regarding when to use subsumption
and to what values wildcards should be bound within a proof. Example 3,
for instance, *almost* can be done in just a few lines, but you end up
getting some SubObj subgoals that don’t mesh up (but that work out with
the correct usage of subsumption and the sub object relations). I’m not
sure if there’s some clever way to automate reasoning about this or not.