SequenceEquals was not a good idea on a dictionary
ThingType.Check was not valid when a not required property had a different type
C# consistency