I feel like the syntax could do with bit more explanation. For example in "(* ) + (* )" the use of parenthesis is not explained anywhere as far as I can tell. Also, shouldn't it be "(* ) `+` (* )" instead if "+" is used as an infix function instead of postfix, i.e. so that the expression desugars into "(* ) ; (* ) +"