Python is the nicest language I currently know of, but static typing is a big advantage due to auto-completion (although there is limited support for dynamic languages, it is nothing compared to that supported in static). I'm curious if there are any languages which try to add the benefits of Python to a statically typed language. In particular I'm interesting in languages with features like:

Syntax support: such as that for dictionaries, array comprehensions
Functions: Keyword arguments, closures, tuple/multiple return values
Runtime modification/creation of classes
Avoidance of specifying classes everywhere (in Python this is due to duck typing, although type inference would work better in a statically typed language)
Metaprogramming support: This is achieved in Python through reflection, annotations and metaclasses

Are there any statically typed languages with a significant number of these features?
Autocompletion is still possible in a dynamically typed language; nothing prevents the IDE from doing type inference or inspection, even if the language implementation doesn't.
What statically typed languages are similar to Python?