Rest and Spread are modern JavaScript language features that let you transform argument lists, arrays, and key-value pairs into each other concisely. Perhaps too concisely! They can be difficult to understand since a single operator -- dot-dot-dot or '...' -- does a lot of heavy lifting. In this lesson we unpack the dots and examine when to use them... and when not to.