in src/append.jl [298:315]
function is_equivalent_type_by_field(T1, T2)
n1 = fieldcount(T1)
n2 = fieldcount(T2)
n1 != n2 && return false
for i = 1:n1
fieldname(T1, i) == fieldname(T2, i) || return false
if fieldtype(T1, i) == fieldtype(T2, i)
continue
elseif isstructtype(T1) && isstructtype(T2)
is_equivalent_type_by_field(T1, T2) || continue
else
return false
end
end
true
end