Closes #778. Checking result.used() before forward

I'm not sure if its the best implementation, but it fixes #778 without broke forward. 
result is always used here.

because you do:
```clj
result.forwardTo(...)...
//which calls
result.use(logic()).forwardTo(...)
```
:bomb: