Added detection for boxed types
When a struct has a free and copy method, we can handle it as boxed.