Redid decl parsing completely, moved type assignment to semantic analzer. Tons of minor changes too.