improve test coverage; curry prepend and append

I'd like to be able to write:

> JavaScript has two collection types: Array and Object. A collection contains as values any number of atoms and/or collections.

It'd be awkward to say "any number of atoms, `NaN`s, `null`s, `undefined`s, and/or collections".