Parsing incomplete (mathematically) expressions seems to leave some parts outs, eg:
parse("2 * 2 = ")
=> [ 'Multiply', { num: '2' }, { num: '2' } ]
parse("2 * 2 = 4")
=> [ 'Equal', [ 'Multiply', { num: '2' }, { num: '2' } ], { num: '4' } ]
This has the implication that chained parse / serialize calls would alter the initial input...
Will this ever work with in-complete expressions?