removed namespaces from core
comments and some cleanup.
fixed bug that prevented semantic analyzer to infer types for variables when called second time.
made assignment check and coercion explicit, so it will not break other typechecking rules