Opaque interfaces in Golang