Fix reflection warnings

Calling `.poll` and `.offer` on the queues in the `produce` and `consume` functions was
causing reflection to occur, with a significant performance penalty. I've type
hinted them to fix the issue.

The hinting in `produce-done` and `shutdown` is of questionable value and isn't
really going to change much, but I threw them in there to satisfy the compiler
warning regardless. Leaving them in is a bit unaesthetic, but I'd like your
input.