I'm not sure the implementation details can be ignored so easily. With certain exception, the Go authors do not like implicit conversions and the associated runtime costs.
I look at the discussion of covariance/contravariance and memory layout as two sides of the same coin.