Fixing typechecking for references. We must differentiate between
initializing a reference and assigning a value to it.
(My guess is there's still some cases I'm not typeckecking correctly
though...ugh)