There is a bug where the parser is turning arithmetic into function application by treating the first variable as a function. So x / 4 => ap (ap (var x) (num 4)) no x / 4 => ap (ap (var /) (var x)) 4