Fixed parser to return first expression of a list of expressions if there's only one
Fix lookup type in union type with free vars
Some refactors in bootstrap