Support for ImmutableHashSet
Describe the feature
I would like to declare a ValueObject for an ImmutableHashSet like in this example:
[ValueObject<string>]
public readonly partial struct SingleScope;
[ValueObject<ImmutableHashSet<SingleScope>>]
public readonly partial struct ScopeSet;
This example produces an error: error VOG003: Type 'ScopeSet' has an underlying type of System.Collections.Immutable.ImmutableHashSet<SingleScope> which is not valid
I understand there is some restriction on types implementing ICollection per https://github.com/SteveDunn/Vogen/issues/661#issuecomment-2325097226 and you offer an example Hash ValueObject at https://github.com/SteveDunn/Vogen/blob/72b951b8cd7450c612b40e759d935523f8f3350e/tests/ConsumerTests/Types/Hash.cs as a workaround for the lack of deep value equality.
I'd like to ask if we could possibly get special deep-equality support for these Immutable* collection types without adding a wrapper type.
Complete example: https://github.com/Trinitek/vogen-immutablehashset-issue
Thanks for the feedback @Trinitek - I'll take a look at this shortly as it looks like a useful addition