1. A system comprising: at least one processor: a memory connected to the at least one processor: and a module that when loaded into the at least one processor causes the at least one processor to: perform contextual typing by: receiving program source code comprising an enclosing expression, the enclosing expression enclosing at least one enclosed expression; and assigning a data type associated with the enclosing expression to the at least one enclosed expression; and display the data type of the enclosed expression.