core: work on kind inference for type abstractions
core: unswitch checker for type abstraction, it was confusing enough