Roslyn-rozpoznawanie typów wyrażeń

Pochylmy się nad następującym kodem

Łatwo odgadnąć, że zmienna x jest typu int, natomiast podczas przypisania wartości x do zmiennej y następuje niejawne rzutowanie do typu decimal. Jak robi to Roslyn? Napiszmy testowy kod

Na konsoli otrzymamy wynik:

Co jednak gdybyśmy chcieli dowiedzieć się czegoś więcej o rzutowaniu typów. Rozważmy kod:

[…]