the user expression as an arbitrary HaskellExpr
fix alignment
eAp instead of ($$)

Why add a new infix operator when there is already an operator,
ap (aka <*>) which does the job, and which can be lifted to work
on HaskellExpr values via the same eFoo syntax all the other
HaskellExpr values use?