allow server::Route to take a functional matcher argument