I originally exposed Compile() for exactly this use case, but apparently I never actually implemented this. Oops. In any event, this makes the first request a little faster (an extremely unscientific test suggests on the order of 10 microseconds). Also, if something goes terribly wrong during route compilation, it would fail before we start listening on the socket.