I'm coming from the Angular world, and having rxjs operators is a blast.
After reading the book I'm not quite sure how to implement some of the operators, such as combining signal updates with wall-clock-timed updates, such as throttling or debouncing (yes, leptos-use has them, but a more detailed explanation on how it actually works would be welcome), and doing something like zip, creating a signal that zips a bunch of other signals, and waits until they all update before updating itself.
let (a, a_set) = signal(0);
let (b, b_set) = signal(0);
let (c, c_set) = signal(0);
let zipped = ????(move || (a(), b(), c()));
a_set(1);
b_set(2);
c_set(3); // zipped updates with (1,2,3)
a_set(2);
b_set(3);
c_set(4); // zipped updates with (2,3,4)