Case Classes, reference equality vs structural equality