Results 66 comments of Nathan Marz

@eslick If you're moving laterally through the tree, you'll need zippers. Using value collection along with `collected?` would let you filter leaves by ids you collected elsewhere.

Could use a similar approach as `subseq` for one of these navigators, e.g. `(all-range > :c < :m)`, `(all-range >= :m)`

Should also look into optimizing `dynamic-param?` by using a marker interface that each dynamic type implements. Then `dynamic-param?` just does an `instance?` check on that type rather than checking for...

Should add `vtraverse` as well

For consistency, should also add `vselect-any`, `vselect-one`, and `vselect-one!`

Also make a benchmark comparing before-index against srange to show improvement.

This looks to be a bug. The fix might be as simple as extending the ImplicitNav protocol to `MetaFn` like is done already to `function`. You should be able to...

@WorldsEndless https://github.com/redplanetlabs/specter/blob/master/src/clj/com/rpl/specter.cljc#L1252

Could also use a special return value to indicate a particular value should be the last value in a subseq. This would allow something like `[:START 1 2 3 :END...

The change to the first example looks fine, but the `concat` example isn't the same since `concat` changes the type.