code: def taking(n):
      
  
      if n < 0:
          raise ValueError("Cannot take fewer than zero ({}) items".format(n))
  
      def taking_transducer(reducer):
          return Taking(reducer, n)
  
      return taking_transducer
docs: Create a transducer which takes the first n items