anchor.diff:              let expr,exprty = AdjustValForExpectedArity cenv.g m vref vFlags topValInfo 
               ConvExpr cenv env (MakeApplicationAndBetaReduce cenv.g (expr,exprty,[tyargs],curriedArgs,m)) 
           else
  -        
               // Too many arguments? Chop 
               let (curriedArgs:Expr list ),laterArgs = List.chop curriedArgInfos.Length curriedArgs 
   
  
positive.code:     // Remove let unionCase = ... from quotation tree
      | Expr.Op(TOp.UnionCaseProof _,_,[e],_) -> 
          None, BindSubstVal env bind.Var e
      | _ ->
          let v = bind.Var
          let vR = ConvVal cenv env v 
  
negative.code:         // If so, adjust and try again
          if curriedArgs.Length < curriedArgInfos.Length ||
             ((List.take curriedArgInfos.Length curriedArgs,curriedArgInfos) ||> List.exists2 (fun arg argInfo -> 
                         (argInfo.Length > (tryDestRefTupleExpr arg).Length)))
          then
              if verboseCReflect then 
                  dprintfn "vref.DisplayName = %A was under applied" vref.DisplayName 
              // Too few arguments or incorrect tupling? Convert to a lambda and beta-reduce the 
  