I wonder if this would be noticeably more efficient as 

```rust
dec_fn(fld.cx, attr.span, attr.node.value, *item, |new| items.push(new))
```

after modifying `ItemDecorator` to take a `pusher: |@Item|` as the last argument.