fixed ^!. issue

they should be treated as completely separate operators
allowing normal and optional arguments in blocks