I am not sure why
* Unused Variables
* Unused Imports
are being considered traps or gotchas. They are in fact very sensible design decisions for a compiled language. Having a compile-time error because of mistyping a variable is far better than having to debug a runtime failure.