real Go type switch