After seeing this signature, I think that Go is giving up on it's simpleness principle.
ensure that the underlying type is a slice
Both are type-constraining annotations, so why two syntaxes?