Improved copy and move semantics.
Improved handling of array param traits.
Updated test5 to stress test the current code.