docs: def first(self, callback=None, default=None):
          """
          Get the first item of the collection.
  
          :param default: The default value
          :type default: mixed
          """
          if callback is not None:
              for val in self.items:
                  if callback(val):
                      return val
  
              return value(default)
  
          if len(self.items) > 0:
              return self.items[0]
          else:
              return default