Earlier, Sim on a team with several developers (including Andrew Kennedy and then Anders Halesberg), created generalizations for the .NET Common Language Runtime, including the initial version of the generalizations design for the C # programming language. Kennedy, Sim and Yu also formalized this widely used system.
He is a member of the WG2.8 working group on functional programming.
In the past he also worked on the problems of formal specification, program verification, automatic proof of theorems.
Since 1998 he has been working in Microsoft Research.