Optional static typing for Python