Inlineable classes

This WiP PR will host the inlineable classes optimization. Follow up in the comments.
why not bind `lhs` in the pattern above?