code: def drop_first(count):
      
      def _drop_first(iterable):
          g = (x for x in range(1, count + 1))
          return dropwhile(
              lambda i: unless(StopIteration, lambda: next(g))(), iterable)
      return pipe | set_name('drop_first(%s)' % count, _drop_first)
docs: Assumes an iterable on the input, returns an iterable with identical items
      except for the first `count`.
  
      >>> range(10) > drop_first(5) | tuple
      (5, 6, 7, 8, 9)