I think theres no reasons for these to be separate, it can just be a method on `Signal` with some trait bounds.
I think theres no reasons for these to be separate, it can just be a method on
Signalwith some trait bounds.