Composite types with array type fields

arr = [1,2,3]
a3 = A(arr)

The type of arr is not the same as the m field, so there must be a conversion, and the result of the conversion is clearly not === the original. If you don’t want the conversion, use arr = Int32[1,2,3].

In the first case, you are only comparing the fields, post-conversion.