docs: def to_lookup(self, key_selector=identity, value_selector=identity):
          '''Returns a Lookup object, using the provided selector to generate a
          key for each item.
  
          Note: This method uses immediate execution.
          '''
          if self.closed():
              raise ValueError("Attempt to call to_lookup() on a closed Queryable.")
  
          if not is_callable(key_selector):
              raise TypeError("to_lookup() parameter key_selector={key_selector} is not callable".format(
                      key_selector=repr(key_selector)))
  
          if not is_callable(value_selector):
              raise TypeError("to_lookup() parameter value_selector={value_selector} is not callable".format(
                      value_selector=repr(value_selector)))
  
          key_value_pairs = self.select(lambda item: (key_selector(item), value_selector(item)))
          lookup = Lookup(key_value_pairs)
          # Ideally we would close here
          #self.close()
          return lookup