Add struct tag
Guarantee that set_arguments() will always be called
Support unnamed namespaces
Add method tag
Make arguments to require keyword use