Extended function semantics

Many of funcy functions expecting predicate or mapping function as an argument can take something uncallable instead of it with semantics described in this table:

f passed Function Predicate
None identity bool
string re_finder(f) re_tester(f)
int or slice itemgetter(f) itemgetter(f)
mapping lambda x: f[x] lambda x: f[x]
set lambda x: x in f lambda x: x in f

Supporting functions

Here is a full list of functions supporting extended function semantics:

Group Functions
Sequence transformation map(), imap(), keep(), ikeep(), mapcat(), imapcat()
Sequence filtering filter(), ifilter(), remove(), iremove(), distinct(), idistinct()
Sequence splitting dropwhile(), takewhile(), split(), split_by()
Sequence chunking group_by(), count_by(), partition_by(), ipartition_by()
Collection transformation walk(), walk_keys(), walk_values()
Collection filtering select(), select_keys(), select_values()
Content tests all(), any(), none(), one(), some(), is_distinct()
Function logic all_fn(), any_fn(), none_fn(), one_fn(), some_fn()
Function tools compose(), rcompose(), complement(), juxt(), ijuxt()