anchor.diff:              ""
       sprintf "file %s, line %d column %d to line %d column %d%s" p1.FileName (p1.Line+1) p1.Column (p2.Line+1) p2.Column badCode
   
  +// Put the module name and declaration name as strings into a module qualifier
   let qualifierWrap modName decName =
       {module_ = modName; name = decName}
   
  +// Takes in a declaration and substitutions and apply the template with these substitutions
   let applyTemplate dec (substitutions : TemplateApply) =
       let replace tyMap capMap haystack =
           TreeTraversals.map2 (fun tyExpr -> match tyExpr with
  
positive.code:     tenv => variable names to types and a bool which tells
          if the variable is mutable
  *)
  let rec typeCheckExpr (denv : Map<string * string, PosAdorn<Declaration>>)
                        (dtenv : Map<string * string, TyExpr>)
                        (tenv : Map<string, bool * TyExpr>)
  
negative.code: let isAlreadyCheckedFunction m t =
      Set.contains (cleanAll m, cleanAll t) alreadyCheckedFunctions
  
  // Simple returning types of results of arithmetic operations
  let arithResultTy numTypel numTyper = 
      match (numTypel, numTyper) with
          | (x, y) when x=y -> x
  