anchor.diff:                 | ArrayMutation of ArrayMutationRec
                  | RecordMutation of RecordMutationRec
   
  +// Takes in a wrapped AST object, returns the object within the PosAdorn.
   let unwrap<'a> ((_, _, c) : PosAdorn<'a>) = c
  +// Takes in a wrapped AST object, returns the starting position.
   let getPos<'a> ((a, _, _) : PosAdorn<'a>) = a
  +// Takes in a wrapped AST object, returns the ending position.
   let getType<'a> ((_, b, _) : PosAdorn<'a>) = b
  +// Dummy position used for initializing positions on PosAdorns
   let dummyPos : Position = {pos_fname=""
                              pos_lnum = -1
                              pos_bol = -1
                              pos_cnum = -1}
   let dummyWrap<'a> c : PosAdorn<'a> = ((dummyPos, dummyPos), None, c)
  +// Cleans up the wrapping around an AST object, returns it to default dummy values.
   let clean<'a> ((_, _, c) : PosAdorn<'a>) : PosAdorn<'a> = dummyWrap c
   let cleanAll haystack = TreeTraversals.map1 (fun pos -> dummyPos) haystack
   
  +// Add typing to a PosAdorn.
   let wrapWithType<'a> t c : PosAdorn<'a> = ((dummyPos, dummyPos), Some t, c)
   
   let templateToTemplateApply template =
  
positive.code:            | RefTy of PosAdorn<TyExpr>
             | TupleTy of PosAdorn<TyExpr> list
  
  and MatchVarRec = {varName : PosAdorn<string>; mutable_ : PosAdorn<bool>; typ : PosAdorn<TyExpr> option}
  and MatchValConRec = { name : PosAdorn<string>; template : PosAdorn<TemplateApply> option; innerPattern : PosAdorn<Pattern>; id : int option }
  and MatchValConModQualifierRec = { modQualifier : PosAdorn<ModQualifierRec>; template : PosAdorn<TemplateApply> option; innerPattern : PosAdorn<Pattern>; id : int option }
  
negative.code:               | BitshiftLeft | BitshiftRight
  and UnaryOps = LogicalNot | BitwiseNot
  
  // Mutations are changes in already declared variables, arrays, records, etc.
  and VarMutationRec =    { varName : PosAdorn<string> }
  and ArrayMutationRec =  { array : PosAdorn<LeftAssign>; index : PosAdorn<Expr> }
  and RecordMutationRec = { record : PosAdorn<LeftAssign>; fieldName : PosAdorn<string> }
  