better implementation of the interpolated expressions using parser combinators