anchor.diff:  
   and GenLinearExpr cenv cgbuf eenv sp expr sequel canProcessSequencePoint (contf: FakeUnit -> FakeUnit) =
       let expr = stripExpr expr
  +
  +    if canProcessSequencePoint then
  +        ProcessSequencePointForExpr cenv cgbuf sp expr
  +
       match expr with 
       | LinearOpExpr (TOp.UnionCase c, tyargs, argsFront, argLast, m) ->
           GenExprs cenv cgbuf eenv argsFront
  
positive.code:       GenApp cenv cgbuf eenv (f, fty, tyargs, args, m) sequel
    | Expr.Val (v, _, m) -> 
        GenGetVal cenv cgbuf eenv (v, m) sequel
  
    // Most generation of linear expressions is implemented routinely using tailcalls and the correct sequels.
    // This is because the element of expansion happens to be the final thing generated in most cases. However
    // for large lists we have to process the linearity separately
    | Expr.Sequential _
    | Expr.Let _
    | LinearOpExpr _ -> 
        GenLinearExpr cenv cgbuf eenv sp expr sequel (* canProcessSequencePoint *) false id |> ignore<FakeUnit>
  
    | Expr.Op (op, tyargs, args, m) -> 
        match op, args, tyargs with 
  
negative.code:   | None ->
  
    match expr with
    // Most generation of linear expressions is implemented routinely using tailcalls and the correct sequels.
    // This is because the element of expansion happens to be the final thing generated in most cases. However
    // for large lists we have to process the linearity separately
    | Expr.Sequential _
    | Expr.Let _
    | LinearOpExpr _ 
    | LinearMatchExpr _ -> 
        GenLinearExpr cenv cgbuf eenv sp expr sequel (* canProcessSequencePoint *) false id |> ignore<FakeUnit>
  
    | Expr.Const (c, m, ty) ->
        GenConstant cenv cgbuf eenv (c, m, ty) sequel
    | Expr.Match (spBind, exprm, tree, targets, m, ty) ->
  