Fixed some bug in the first pass
Added proper return type checking on function
Added proper typing to empty blocks