"I suppose it is ok that the compiler only looks at types and constants since pattern matching is mainly concerned with looking at types and constants." . . . . .