"I know about scala.Dynamic, which is not the same thing - in C# you do not know the types at compile time, and the dynamic type propagates." . . . .