The Rest and Spread operators are interesting, I think they're cool syntactic sugar and they've got reasonable use for some types of functional programming, but they feel like a ticking time bomb. It doesn't exactly promote resilience if objects are being passed around many different contexts. It seems like it promotes clunky boilerplate checks over more explicit logic