Yeah, I had the same idea myself, but I eventually decided it wasn't entirely useful because it'd have to match the regular expression before it could make the function call which would be really slow. There are ways around that though, such as differentiating between a regex fn and a normal fn, and first looking to see if a normal definition matches the function call, then iff it couldn't find one, it checks the regular expression function definitions. Additionally, since these regular expressions aren't very large it shouldn't take a significant amount of time to match them; but it would still hurt to have that overhead for something as fundamental as a function call.