anchor.diff:                          match methodNames with
                           | [] -> msg
                           | names -> sprintf "%s %s" msg (FSComp.SR.csCandidates (String.concat ", " names))
  -                    None, ErrorD (failOverloading msg [])
  +                    None, ErrorD (failOverloading msg []), NoTrace
   
       // If we've got a candidate solution: make the final checks - no undo here! 
       // Allow subsumption on arguments. Include the return type.
  
positive.code:     | None -> tp.typar_solution <- Some (TType_measure ms)
      | Some _ -> error(InternalError("already solved",r.Range));
  
  let rec TransactStaticReq (csenv:ConstraintSolverEnv) trace (tpr:Typar) req = 
      let m = csenv.m
      if (tpr.Rigidity.ErrorIfUnified && tpr.StaticReq <> req) then 
          ErrorD(ConstraintSolverError(FSComp.SR.csTypeCannotBeResolvedAtCompileTime(tpr.Name),m,m)) 
      else
          let orig = tpr.StaticReq
          match trace with 
          | NoTrace -> () 
          | WithTrace trace -> trace.Push (fun () -> tpr.SetStaticReq orig) 
          tpr.SetStaticReq req;
          CompleteD
  
  and SolveTypStaticReqTypar (csenv:ConstraintSolverEnv) trace req (tpr:Typar) =
  
negative.code:                             | OkResult _ -> None
                              | ErrorResult(_,exn) -> Some (calledMeth, exn)))
  
                  None,ErrorD (failOverloading (FSComp.SR.csNoOverloadsFound methodName) errors), NoTrace
  
              | [(calledMeth,_,t)] -> 
                  Some calledMeth, CompleteD, WithTrace t
  
              | applicableMeths -> 
                  
  