add struct tests for copying, update and subtypes