@verify.register(nodes.Var)
def verify_var(stub: nodes.Var, runtime: MaybeMissing[Any], object_path: List[str]) -> Iterator[Error]:
    if isinstance(runtime, Missing):
        if (len(object_path) <= 2):
            (yield Error(object_path, 'is not present at runtime', stub, runtime))
        return
    runtime_type = get_mypy_type_of_runtime_value(runtime)
    if ((runtime_type is not None) and (stub.type is not None) and (not is_subtype_helper(runtime_type, stub.type))):
        should_error = True
        if isinstance(runtime, enum.Enum):
            runtime_type = get_mypy_type_of_runtime_value(runtime.value)
            if ((runtime_type is not None) and is_subtype_helper(runtime_type, stub.type)):
                should_error = False
        if should_error:
            (yield Error(object_path, 'variable differs from runtime type {}'.format(runtime_type), stub, runtime))
@verify.register(nodes.Var)
def verify_var(stub: nodes.Var, runtime: MaybeMissing[Any], object_path: List[str]) -> Iterator[Error]:
    if isinstance(runtime, Missing):
        if (len(object_path) <= 2):
            (yield Error(object_path, 'is not present at runtime', stub, runtime))
        return
    runtime_type = get_mypy_type_of_runtime_value(runtime)
    if ((runtime_type is not None) and (stub.type is not None) and (not is_subtype_helper(runtime_type, stub.type))):
        should_error = True
        if isinstance(runtime, enum.Enum):
            runtime_type = get_mypy_type_of_runtime_value(runtime.value)
            if ((runtime_type is not None) and is_subtype_helper(runtime_type, stub.type)):
                should_error = False
        if should_error:
            (yield Error(object_path, 'variable differs from runtime type {}'.format(runtime_type), stub, runtime))