anchor.diff:    let nud (s:int) funct p = p.Null.[s] <- funct; p
     let led (s:int) funct p = p.Left.[s] <- funct; p
     let bpw (s:int) power p = p.BindingPower.[s] <- power; p
  -
  -  type P = State
   
     let inline symbol (s:int, _, _, _) = s
     let inline value (_, v:string, _, _) = v
  
positive.code:     #if DEBUG
      with
      member x.TokenName = 
        let s, _, _, _ = x.Token in s |> S.getName
  
      member x.TokenValue = 
        let _, v, _, _ = x.Token in v
  
negative.code: 
      // It's just so much faster
      // to use mutable values 
      // then creating a new State
      // object for each token consumed
      mutable Token : Token
      mutable EndExpression : bool
  