Use an internal concat function

Hope this is an obvious enough optimization. Have been experimenting with a similar implementation for underscore.

**Useful side-effect** this adds support for array-likes for `clone`, `merge`, etc. LMK if this is desired and I'll add tests