Enhancement: Implemented support for "Final" type annotation introduced in Python 3.8.
Bug Fix: Fixed bug in type comparison logic. It wasn't taking into account specialized return types for functions, so unions that contained two functions with different specialized return types were being deduped incorrectly.
Bug Fix: Fixed a bug in member access evaluation where the base type was a generic class. The logic was inappropriately specializing the class, inserting "Unknown" type arguments.
Bug Fix: Enhanced TypeVar matching logic to handle the case where the first encounter with a TypeVar is contravariant but subsequent encounters are covariant or invariant, in which case we may be able to narrow the type from the initial guess.