code: def to_dict(self, default=None):
          
          dictionary = {}
          for e in self.sequence:
              dictionary[e[0]] = e[1]
          if default is None:
              return dictionary
          else:
              if hasattr(default, '__call__'):
                  return collections.defaultdict(default, dictionary)
              else:
                  return collections.defaultdict(lambda: default, dictionary)
docs: Converts sequence of (Key, Value) pairs to a dictionary.
  
          >>> type(seq([('a', 1)]).to_dict())
          dict
  
          >>> seq([('a', 1), ('b', 2)]).to_dict()
          {'a': 1, 'b': 2}
  
          :param default: Can be a callable zero argument function. When not None, the returned
              dictionary is a collections.defaultdict with default as value for missing keys. If the
              value is not callable, then a zero argument lambda function is created returning the
              value and used for collections.defaultdict
          :return: dictionary from sequence of (Key, Value) elements