add enum handling as blind memory copies.
correct handling of empty structs in _next_ function