Does this just do shallow comparisons on each field in the struct?