Fix default branch generation
Generate precise location for default expression

And typecheck them during infer pass