partial function macros, better docs