My approach to Go generic code & code generation