handle symbols (just return them unevaluated)
np generation using (rewrite-as) works.