Now, remember the way the compiler works is the constructor for each of the patterns takes some arguments--a string, and x and y pattern, or whatever-- and it's going to return a function that matches the protocol that we've defined for the compiler. 