firstlast.go
func First(n int) Filter {
	return FilterFunc(func(arg Arg) error {
		seen := 0
		for s := range arg.In {
			if seen >= n {
				break
			}
			arg.Out <- s
			seen++
		}
		return nil
	})
}
func First(n int) Filter {
	return FilterFunc(func(arg Arg) error {
		seen := 0
		for s := range arg.In {
			if seen >= n {
				break
			}
			arg.Out <- s
			seen++
		}
		return nil
	})
}
func First ( n int ) Filter { return FilterFunc ( func ( arg Arg ) error { seen := 0 for s := range arg . In { if seen >= n { break } arg . Out <- s seen ++ } return nil } ) }
// First yields the first n items that it receives.
First yields the first n items that it receives .