firstlast.go
func DropLast(n int) Filter {
	return FilterFunc(func(arg Arg) error {
		r := newRing(n)
		for s := range arg.In {
			if r.full() {
				arg.Out <- r.popFront()
			}
			r.pushBack(s)
		}
		return nil
	})
}
func DropLast(n int) Filter {
	return FilterFunc(func(arg Arg) error {
		r := newRing(n)
		for s := range arg.In {
			if r.full() {
				arg.Out <- r.popFront()
			}
			r.pushBack(s)
		}
		return nil
	})
}
// DropLast yields all items except for the last n items that it receives.