query.go
func Count(iter Enumerable, p Predicate) int {
	return iter.Enumerate(nil).Count(p)
}
func Count(iter Enumerable, p Predicate) int {
	return iter.Enumerate(nil).Count(p)
}
// Count iterates over a list and keeps a running tally of the number of elements
// satisfy a predicate.