add low-level &rest support (returns array instead of list currently)