add |id|
cj-desourcify: process boxes
move here
add example as doc
move (type) predicates to predicates.scm
move code here
add |string-contains|, |string-contains-ci| returning (maybe position)
add string.replace-substring, string.replace-substring-ci
add string.maybe-replace-substring, string.maybe-replace-substring-ci

and make the empty substring an error
add string.{maybe-,}replace-substrings{,-ci} and remove all? argument
move here
change to using code-symbol-substring-map
move list.u8vector to oo-vector-lib; add VECTOR.append
add VECTOR.fold-right and VECTOR.fold