auto-dereference <expr> in toggle() attr(); simpler asts