failing to fix semantics after tweak

in quite a messed up state now, but new plan is to make a more major
tweak to the semantics and see how that works out. namely: explicitly
ask for the semantics of all the type arguments, and use them to extend
the type valuation, instead of instantiating the term and using the
original type valuation. if it works out this would solve the problem of
type deconstruction trivially, and might even make the semantics not
depend on type instantiation any more.
write new semantics of type definitions

and reprove things up to semantics_11