(porting comments from an early review from @domenic to github issues) @domenic: JS is generally structurally typed, so introducing nominal typing sounds awkward. TODO(@goto, @dimvar): write this up. @erights: is this (nominal typing) closer to the semantics of the runtime checks, like instanceof?