This is a proposal for an alternate syntax for contracts for generics in Go, along with adaptors for types that do not natively fulfill the contract. It takes a lot of inspiration from Pat Smith's Go Generics with Adaptors.
It is primarily motivated by the discussion about how to make a single generic function work both with builtin types that use operators and with user-defined types that use methods.