"A contract is a compile-time description of which types are permitted for a polymorphic function or type."
No, it's not. It's a collection of statement-like operations that must be legally compilable, under restricted circumstances, by the type at the point of instantiation, plus some special rules for cases that are hard to handle that way. It's more of an illustration, an example, than a description. It's implicit, roundabout, a little magical. I'm not criticizing the design, although it might sound like that, but there is a certain lack of precision, of indirection, that makes this harder than I hope it might be. And the first place to be precise is in the language that defines what these new concepts are. -rob -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.