Strange Behaviour on implementing Equatable on Generic Struct in Swift

I have come across a problem when implementing Equatable on Generic Struct.
I have posted the detail on StackOverflow
<Strange Behaviour on implementing Equatable on Generic Struct in Swift - Stack Overflow.
Would like to know how to correctly implement Equatable on Generic Struct.
Thank you.