code: def scantypes(cls, value, value_type, visitor):
          
  
          item_type_generator = None
          if issubclass(value_type, Collection):
  
              def get_item_types():
                  if isinstance(value_type.itemtype, tuple):
                      # not actually supported by Collection yet, but whatever
                      for vt in value_type.itemtype:
                          yield (vt, vt)
                  else:
                      yield value_type.itemtype, value_type.itemtype
  
              item_type_generator = get_item_types()
  
          propget = None
          if issubclass(value_type, Record):
              def propget(prop):
                  return prop
  
          return propget, item_type_generator
docs: Like :py:meth:`normalize.visitor.VisitorPattern.unpack`, but
          returns a getter which just returns the property, and a collection
          getter which returns a set with a single item in it.