1. A method comprising: in response to receiving source code of a program by a processor of a computing device, creating a graph modeling a type system of the program, the graph comprising a plurality of nodes representing code elements and at least one link of a plurality of links representing a relationship between a code element and an expression bound to a declaration of the code element; and modifying the graph in response to detecting a modification of the source code in an editing session, the modification of the source code changing a data type of at least one code element represented by a node of the plurality of nodes in the graph.