This idea has a problem, if all structs have the same size can not differentiate.