docs: def except_(self, enumerable, key=lambda x: x):
          """
          Returns enumerable that subtracts given enumerable elements from self
          :param enumerable: enumerable object
          :param key: key selector as lambda expression
          :return: new Enumerable object
          """
          if not isinstance(enumerable, Enumerable3):
              raise TypeError(
                  u"enumerable parameter must be an instance of Enumerable")
          membership = (
              0 if key(element) in enumerable.intersect(self, key).select(key) else 1
              for element in self
          )
          return Enumerable3(
              itertools.compress(
                  self,
                  membership
              )
          )