Add automatic return, and change directive syntax

Directive syntax is now ![ directive argument ], instead
of the old #! directive argument