I think your idea of creating standard contracts to represent similar types is a good one. However, you don't have to say how those contracts are written, just what they do. No need for typecheck, union, except, etc. For example,
Integer(T) - T is an integer type Float(T) - T is a floating point type Complex(T) - T is a complex type For contracts in the standard library, we can just invoke "compiler magic" to explain how they work. Trying to explain the mechanism merely adds complexity. -- 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.