Using member-hiding (`new`) to get more specific return type
I'm considering to use new to redefine members in subclasses to make more specific return type available. The question is: is this a good idea, or is it asking for troubles? The problem to be solves is when there are several "mirrored" class hierarchies, where types from every hierarical layer are referencing to the same level of anothe...