Equatable implementation for proper type comparison.
Two language types are considered equal if they have the same primitive type.
@override List<Object> get props => [primitiveType];