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.