anchor.diff:         | Expr.TyLambda _ 
          | Expr.Lambda _ ->
              e, (AddValEqualityInfo cenv.g m v 
  -                    { Info=valInfoForVal.ValExprInfo; 
  -                      HasEffect=false; 
  -                      MightMakeCriticalTailcall = false;
  -                      FunctionSize=10; 
  +                    { Info=valInfoForVal.ValExprInfo 
  +                      HasEffect=false 
  +                      MightMakeCriticalTailcall = false
  +                      FunctionSize=10 
                         TotalSize=10})
          | _ -> 
              let e,einfo = OptimizeExpr cenv env e 
              e,AddValEqualityInfo cenv.g m v einfo 
   
       | None -> 
  -       if v.MustInline  then error(Error(FSComp.SR.optFailedToInlineValue(v.DisplayName),m));
  +       if v.MustInline  then error(Error(FSComp.SR.optFailedToInlineValue(v.DisplayName),m))
          expr,(AddValEqualityInfo cenv.g m v 
  -                    { Info=valInfoForVal.ValExprInfo; 
  -                      HasEffect=false; 
  -                      MightMakeCriticalTailcall = false;
  -                      FunctionSize=1; 
  +                    { Info=valInfoForVal.ValExprInfo 
  +                      HasEffect=false 
  +                      MightMakeCriticalTailcall = false
  +                      FunctionSize=1 
                         TotalSize=1})
   
   //-------------------------------------------------------------------------
  
positive.code:     let e2', dir = 
          match dir, e2' with 
          // detect upwards for loops with bounds of the form "arr.Length - 1" and convert them to a C#-style for loop
          | FSharpForLoopUp, Expr.Op(TOp.ILAsm([ (AI_sub | AI_sub_ovf)],_),_,[Expr.Op(TOp.ILAsm([ I_ldlen; (AI_conv DT_I4)],_),_,[arre],_);
                                                                                     Expr.Const(Const.Int32 1,_,_)],_) 
                    when not (snd(OptimizeExpr cenv env arre)).HasEffect -> 
  
              mkLdlen cenv.g (e2'.Range) arre, CSharpForLoopUp
  
negative.code: 
      let expr = DetectAndOptimizeForExpression cenv.g OptimizeAllForExpressions expr
  
      let expr = if cenv.settings.ExpandStructrualValues() then ExpandStructuralBinding cenv expr else expr 
      match expr with 
      | Expr.Sequential (e1,e2,flag,spSeq,m) -> 
        let e1',e1info = OptimizeExpr cenv env e1 
        OptimizeLinearExpr cenv env e2 (contf << (fun (e2',e2info) -> 
          if (flag = NormalSeq) && 
  