more precise signature for quasiquotes