anchor.diff:          // go to the join point
           Br afterJoin, afterJoin, stackAfterJoin, sequel
   
  +// Accumulate the decision graph as we go
  +and GenDecisionTreeAndTargets cenv cgbuf stackAtTargets eenv tree targets repeatSP sequel contf =
  +    GenDecisionTreeAndTargetsInner cenv cgbuf None stackAtTargets eenv tree targets repeatSP (IntMap.empty()) sequel (fun targetInfos ->
  +        let sortedTargetInfos = 
  +            targetInfos 
  +            |> Seq.sortBy (fun (KeyValue(targetIdx, _)) -> targetIdx)
  +            |> List.ofSeq
  +        GenPostponedDecisionTreeTargets cenv cgbuf sortedTargetInfos stackAtTargets sequel contf
  +    )
  +
   and GenPostponedDecisionTreeTargets cenv cgbuf targetInfos stackAtTargets sequel contf =
       match targetInfos with
       | [] -> contf Fake
  
positive.code:             | Choice2Of2 i -> CG.EmitInstr cgbuf pops pushes i
              CG.EmitInstr cgbuf (pop 1) Push0 (I_brcmp (BI_brfalse, failure.CodeLabel))
  
          [ (None, eenv, successTree)
            (Some failure, eenv, failureTree) ]
  
  /// Generate fixups for letrec bindings
  and GenLetRecFixup cenv cgbuf eenv (ilxCloSpec: IlxClosureSpec, e, ilField: ILFieldSpec, e2, _m) =
  
negative.code:             let avoidHelpers = entityRefInThisAssembly g.compilingFslib hdc.TyconRef
              EraseUnions.emitDataSwitch g.ilg (UnionCodeGen cgbuf) (avoidHelpers, cuspec, dests)
              CG.EmitInstrs cgbuf (pop 1) Push0 [ ] // push/pop to match the line above
              GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets repeatSP targetInfos sequel caseLabels cases contf
            
          | DecisionTreeTest.Const c ->
              GenExpr cenv cgbuf eenv SPSuppress e Continue
  