title: How to use static type checking using Dict with different value types in Python 3.6?
body: <p>Trying to use static types in Python code, so <code>mypy</code> can help me with some hidden errors. It's quite simple to use with single variables</p>
  
  <pre><code>real_hour: int = lower_hour + hour_iterator
  </code></pre>
  
  <p>Harder to use it with lists and dictionaries, need to import additional <code>typing</code> library:</p>
  
  <pre><code>from typing import Dict, List
  hour_dict: Dict[str, str] = {"test_key": "test_value"}
  </code></pre>
  
  <p>But the main problem - how to use it with Dicts with different value types, like:</p>
  
  <pre><code>hour_dict = {"test_key": "test_value", "test_keywords": ["test_1","test_2"]}
  </code></pre>
  
  <p>If I don't use static typing for such dictionaries - mypy shows me errors, like: </p>
  
  <pre><code>len(hour_dict['test_keywords'])
  - Argument 1 to "len" has incompatible type
  </code></pre>
  
  <p>So, my question: how to add static types to such dictionaries? :)</p>