Implement roughly 2 kinds of copy: shallow copy and deep copy. Deep copy should take advantage of WebAssembly internals.