anchor.diff:          let body =
               match body with
               | U2.Case1 e -> e
  -            | U2.Case2 e -> BlockStatement([ReturnStatement(e, ?loc=e.loc)], ?loc=e.loc)
  +            | U2.Case2 e -> BlockStatement [ReturnStatement e]
           args, body
   
       /// Wrap int expressions with `| 0` to help optimization of JS VMs
  
positive.code:                     | U2.Case2 bodyExpr ->
                          let returnStatement = ReturnStatement(bodyExpr, ?loc=bodyExpr.loc)
                          bodyExpr.loc, [returnStatement :> Statement]
                  block loc (varDeclStatements@bodyStatements) |> U2.Case1
          args |> List.map (fun x -> x :> Pattern), body
  
      // let transformClass com ctx range (ent: Fable.Entity option) baseClass decls =
  
negative.code:         // TODO: Unsigned ints seem to cause problems, should we check only Int32 here?
          | _, Fable.Number(Int8 | Int16 | Int32)
          | _, Fable.EnumType _ ->
              BinaryExpression(BinaryOrBitwise, e, NumericLiteral(0.)) :> Expression
          | _ -> e
  
      let makeAnonymousFunction args body: Expression =
          match body with
          | U2.Case1 body -> body
          | U2.Case2 e -> BlockStatement [ReturnStatement e]
          |> fun body -> upcast FunctionExpression (args, body)
  
      let transformValue (com: IBabelCompiler) (ctx: Context) value: Expression =
          match value with
  