remove done from todo
add predicate support to all/any
fail when invalid predicate on keep/drop