Attribute Macros

Wraps a function in a system, and generates a new function which constructs that system.