Change/higher kinded

This is the new higher-kinded scheme. 
Would be cool to have the constant folder fold indexing of constant strings, so you could write `name(0) == tpnme.LAMBDA_ARG_PREFIX(0)` without regrets.