I don't understand the point at the end, showing that interface definitions don't create code doesn't have anything to do with code generated for actual instantiation. Once you create an instance of something, no matter what mechanism is used, code will get created, contract enforcement has nothing to do with that.
Comparing to OOP languages I see the class definitions in the beginning of the post as "data grouping" and not as contracts so I don't quite understand what's being contrasted here.