Concept:FindAndAnyInCollectionFinding something that satisfies in a collection is a common operation, and many collection/container types provides such interface.
The find family
 Returns an element that satisfies the predicate. If the collection is a mapping, returns key and value as two values.
 Takes a predicate and a collection.
 Some take a failure thunk as the third argument. If the operation doesn't take a failure thunk,
#f is returned when no satisfying entry is found.
Note: If it doesn't take failure thunk, it can't handle the case when #f
as an element satisfies the predicate.
 A predicate receives an element, if the collection is a simple collection of values; or it receives a key and an associated value, if the collection is a mapping.
 Predicate receives key and value: hashmapfind?, mappingfind?.
 Anomalies:
 hashtablefind?(SRFI125)  Returns what predicate returns, rather than the actual key & value. With this regard, it belongs to
any family.
 hashtablefind?(SRFI126)  Arguments are reversed (a collection, a predicate). Returns three values ([key, value, found?])
 imapingfind?(SRFI224? draft)  predicate takes only a value.
 If the collection is ordered, there can be a variant to find the last
entry that satisfies the predicate.
The any family
 Returns the first true value returned by the predicate.
 Argument variations:
 pred, collection > result or
#f : charsetany(SRFI14),
generatorany?(SRFI158),
lseqany?(SRFI127)
 pred, collection, collection2 ... > result or
#f :
any(SRFI1),
arrayany?(SRFI179),
flexvectorany?(SRFI214?),
iany?(SRFI116),
idequeueany?(SRFI134),
rangeany?(SRFI196?),
vectorany(SRFI133),
@vectorany?(SRFI160)
 pred, collection, optional failure thunk:
hashtablefind? (SRFI125)
 pred, collection, optional start and end:
stringany(SRFI13),
textualany?(SRFI135)
 Unresolved question: If mapping collection wants the multiplecollection interface, how should the arguments passed to the predicate?
The any? family
 Like
any but act as a predicateeither return #t or #f .
 Standard ones: bagany??(SRFI113),
enumsetany??(SRFI209?),
hashmapany??(SRFI146),
imappingany??(SRFI224? draft),
isetany??(SRFI217),
mappingany??(SRFI146),
setany??(SRFI113)
 Anomalies:
 imappingany??  predicate takes only a value.
 In bitset operations, the predicate is obvious so it only
takes a collection, plus start/end arguments:
bitfieldany??(SRFI151),
bitvectorfieldany??(SRFI178?)
Maybe+find
 Wrap the return value with Maybe, eliminating the failure thunk and
allowing multiple values packed into a single one.
 Predicate gets a key and a value: imappingquery/key?(SRFI224? draft)
 Predicate gets a value: imappingquery?(SRFI224? draft)
Maybe+any
 The predicate returns Maybe[]. If it's Just, it is returned immediately.
 So far, we don't have an instance for this .
