added dynamic-args for function apply's: !*! denotes a function to apply at apply-time, must be run within context of apply!*!