Modifications to local variables declarations

Here's what's working here:
1. Implicit conversions on variables (compiler treats them as if they were usual assignments)
2. Correct handling of situations where the type of variable is not explicitly declared, due to two new transformations added at the end of the file in an object TypeOperations, which are intended to deal with types before typer phase
3. The TypeOperations by themselves, can be potentially applied to wider range of situations

Though, I had to change architecture slightly to achieve these.