1. A computer program product comprising one or more computer-readable media having thereon computer-executable instructions that are structured such that, when executed by the one or more processors of a computing system, causes the computing system to perform a method for facilitating computation of an available symbol set at code locations in a dynamic language program, the method comprising: an act of the computing system accessing a dynamic language program; an act of accessing type information for at least one variable of the dynamic language program; an act of annotating the variable with information representing the accessed type information without declaring the variable as being of a particular type; an act of executing the dynamic language program; an act of halting execution of the dynamic language program at a halt point in which an available symbol set would be derived based on a value of the variable having a useful type; an act of determining that the variable does not have a value of a useful type to formulate an available symbol set at the halt point; an act of accessing the annotated information to determine the type information; and an act of generating the available symbol set based on the type information even though the variable does not have a value of a useful type at the halt point.