Added concat (with fold and ++, might not be the most efficient)
Now able to easily make empty containers for tests
Intercalate
Why make it harder than it has to be
Started a compile time version of the functional library
Added compile time arrays (std::array is not enough because a lot of its members are not constexpr)
Added a compile time append and some compile time tests
Added an array specialization when it's empty
Added head
unnamed parameters are more elegant than void casting
last, tail, init, null and length
Moved the copy helper since it is used by many operations. Also made it more generic with an optional delta index