Queryprogram router: call extract fn directly rather than via string-expansion