So the C constraint in the following program should have no core type,
because its type set is blank. But the foo function compiles okay,
which indicates the current implementation thinks C has a core type.
Maybe, the core type of a constraint should be born from the specific types of the constraint?
package main
func main() {}
type C interface {
map[int]int
M()
}
func foo[T C]() {
var _ = make(T)
}