© 2026 Hedgehog Software, LLC
void Welcome<T>(T message) where T : Parent<T> { } internal abstract record Parent<T>(); internal sealed record Child() : Parent<string>;
Welcome<Child>("string");
message
Child
Parent<int>