add type hints to squash noisy (albeit harmless) reflection warnings

squashing commits when I'd already pushed to github was beyond my git-fu, so here's a new pull request with squashed changes.  I left the type-hint for ^java.util.concurrent.Future fully qualified, as it seemed more concise that importing it at the top just for type-hinting purposes, and then having another reference to what would be a very ambiguous ^Future