anchor.diff:  The parser returns an abstract syntax tree consisting of symbols, strings, Hashes and Arrays.
   Each expression 'node' of the AST is one of the following forms:
   
  -Sequence::
  +AsciiMath::
  +`asciimath` is converted to a an Array of expressions.
  +An empty Array is converted to nil by the parser.
  +A single element Array is unwrapped to just the element.
   +
   Sequences of expressions are returned as an Array of nodes.
   
  -Symbols::
  -+
  -Mathematical operators, function names, arrows, accents, greek letters, etc. are all represented as Symbol objects.
  -
  -Literals::
  -+
  -Literal text strings are represented as String objects.
  -
   Parentheses::
  +`lparen asciimath rparen` is converted to a Hash of the following form
   +
   [source]
   ----
  
positive.code: }
  ----
  
  Matrices::
  +
  [source]
  ----
  
negative.code: ----
  
  Unary Expressions::
  `unary_op simp` is converted to a Hash of the following form.
  +
  [source]
  ----
  