Jak mogę wdrożyć ISerializable w .NET 4+ bez naruszania reguł bezpieczeństwa dziedziczenia?

Tło: Noda Time zawiera wiele struktur możliwych do serializacji. Chociaż nie lubię serializacji binarnej, otrzymaliśmy wiele próśb o jej obsługę, już na osi czasu 1.x. Wspieramy to implementując ISerializableinterfejs. Otrzymaliśmy najnowsze zgłoszenie problemu z awarią Noda Time 2.x w .NET Fiddle...