function (taking the previous and current item), to preserve backward
compatibility (still allowing predicate functions that only take the
current item). This macro also takes in a get-truthy-fn as its first
argument, which is a function that marks whether that item in the
sequence should be included in a subsequence. This is necessary
because the predicate function can now be of any arbitrary form, so
we cannot make any assumption about how the user intends for that
result to be interpreted as a "filter".
Adding SubseqsDynamicPredFn, which works the same as SrangeEndFn, to support backward compatibility
Adding wrapper to take a predicate on [prev current] and turn it into a predicate also taking the current index as the first param
Creating transducer to combine this with the user-supplied predicate function
Adding tests for select and transform
TODO: figure out how to make predicate function handle an open-ended subsequence (ex: end marker not yet seen)