support for Struct.copy and and Struct.view