A sharp edge is writing meta typesystem code infolving covariance, invariance etc
Saw that in a typescript repository
It's ok when it's part of a very specific library, it's not ok using it as part of usual project code
> A sharp edge is writing meta typesystem code infolving covariance, invariance etc
Like in Java? C# has its own sharp edges (like most or all languages), but it's almost disingenuous to bring a feature that is much more complex and weird in Java as an example.
What is the significant difference to Java? In C# you would write something like Foo<out Bar> instead of Foo<? extends Bar> or some such thing.