code: def resolve_value(value, types=type_registry):
      
      if value is None:
          return None
      elif isinstance(value, lazy_type):
          return value.get()
      elif types:
          resolve_func = types.get(expand_type_name(type(value)))
          if resolve_func:
              return resolve_func(value)
      return value
docs: Returns the actual value for the given object, if it is a late-resolving object type.
      If not, the value itself is simply returned.
  
      :param value: Lazy object, registered type in :attr:`type_registry`, or a simple value. In the
       latter case, the value is returned as-is.
      :type value: str | unicode | int | AbstractLazyObject | unknown
      :return: Resolved value.