It's really not much to it. Get value records right. Get method records right. Sadly, none of C, x86 or Haskell does this.