Every temporary variable allocated is put in a PatternVar.
Given a tree, creates a new synthetic variable of the same type and assigns the tree to it.
Creates a new synthetic variable of the specified type and assigns the result of f(symbol) to it.
(Since version 2.10.0) Use leftOfArrow instead
(Since version 2.10.0) Use resultOfEnsuring instead