While researching about structural typing I found the following post describing how interfaces in Go are translated to method lookup tables at runtime. The process described in the post seems vastly different than the reflective and generative techniques described for Scala's optional structural type system and for the White Oak extension of the Java language.
Are there any in-depth resources that discuss how structural typing is implemented in OCaml? I am particularly interested in any discussion of optimizations or run-time performance comparisons with nominal type systems.