WebSharper

For example translating:

1
2
3
type Farm() as this =
    let x() = this
    member this.Cow() = "moo"

results in

1
2
3
4
5
6
 Farm.New=Runtime.Ctor(function()
 {
  this["this"]=FSharpRef.New(null);
  this["this"]["0"]=this;
  this["init@13-8"]=1;
 },Farm);

Which can run into an infinite loop when hashing/comparing.