anchor.diff:  
       let (|Return|_|) (e : Expr) =
           match e with
  -            | Call(None, mi, [value]) when mi = retMethod ->
  -                Some (Return(value))
  +            | Call(None, mi, [value]) ->
  +                if mi.IsGenericMethod && mi.GetGenericMethodDefinition() = retMethod then
  +                    Some (Return(value))
  +                else
  +                    None
               | _ ->
                   None
   
  
positive.code:     
              }
  
          member x.VisitIndexerDeclaration(indexerDeclaration: IndexerDeclaration) : ExprResult<Expr> = failwith "not implemented"
          member x.VisitIndexerExpression(indexerExpression: IndexerExpression) : ExprResult<Expr> = failwith "not implemented"
          member x.VisitInvocationExpression(invocationExpression: InvocationExpression) : ExprResult<Expr> = failwith "not implemented"
          member x.VisitIsExpression(isExpression: IsExpression) : ExprResult<Expr> = failwith "not implemented"
          member x.VisitLabelStatement(labelStatement: LabelStatement) : ExprResult<Expr> = failwith "not implemented"
          member x.VisitLambdaExpression(lambdaExpression: LambdaExpression) : ExprResult<Expr> = failwith "not implemented"
          member x.VisitLockStatement(lockStatement: LockStatement) : ExprResult<Expr> = failwith "not implemented"
          member x.VisitMemberReferenceExpression(memberReferenceExpression: MemberReferenceExpression) : ExprResult<Expr> = failwith "not implemented"
          member x.VisitMemberType(memberType: MemberType) : ExprResult<Expr> = failwith "not implemented"
          member x.VisitMethodDeclaration(methodDeclaration: MethodDeclaration) : ExprResult<Expr> =
              expr {
                  let! body = methodDeclaration.Body.AcceptVisitor(x)
  
  
negative.code:     let argsMap = args |> List.map (fun a -> a.Name, a) |> Map.ofList
  
  
      let exd, s = ex.run { arguments = argsMap; locals = Map.empty; declared = Map.empty }
  
      let ex = exd []
      let ex2 = ex |> FSharp.removeImperativeReturn |> FSharp.removeRetFunctions
  
      printfn "%A" ex2
  //
  //    printfn "%A" b
  //
  