Overhaul of Haskell CG to carry around intermediate expression kinds as: i) pure/inline expr, ii) partial actions, iii) monadic actions