moved macro utilities to prelude
added optional positional and named parameters