Split `index.js` into a few files.
Add `concat` tests for swapping dependent keys.