added type annotations

removed all reflection warnings (besides ones in examples)