16. The device of claim 14 , wherein the at least one processor is further configured to: assign a type to the at least one enclosed expression by assigning a type associated with a left hand expression of an assignment expression to a right hand expression of the assignment expression.
14. A device, comprising: at least one processor and a memory; the at least one processor configured to: perform contextual typing by: receiving a parse tree representing a syntax structure of a program source code, the program source code comprising at least one enclosing expression, the at least one enclosing expression enclosing at least one enclosed expression; and assigning a type of the enclosing expression to the at least one enclosed expression of the parse tree in a top down direction of the parse tree.