add more expressions type checks and var declaration type check