apply_subst_to_type():   removed 'all' option [always recurse on the result of lookup_subst()]   rearranged the clauses in p() to speed things up   use isinstance's ability to check for more than one class unify():   removed tenv and exp args (handled by typer.unify())   ignore bare moo_vars build_type_scheme():   handle moo_vars   apply_subst_to_type() before looking for unbound tvars typer.go():   store the top-level exp for print_type_error() typer.unify():   catch type errors and print them out nicely typer.print_type_error():   imported from solver.py typer.type_of_let_splat():   unify with user-supplied annotation typer.lookup_special_names():   %vec16-ref (for calling it directly) typer.type_of_fix():   unify with user-supplied annotation
apply_subst_to_type():
  removed 'all' option [always recurse on the result of lookup_subst()]
  rearranged the clauses in p() to speed things up
  use isinstance's ability to check for more than one class
unify():
  removed tenv and exp args (handled by typer.unify())
  ignore bare moo_vars
build_type_scheme():
  handle moo_vars
  apply_subst_to_type() before looking for unbound tvars
typer.go():
  store the top-level exp for print_type_error()
typer.unify():
  catch type errors and print them out nicely
typer.print_type_error():
  imported from solver.py
typer.type_of_let_splat():
  unify with user-supplied annotation
typer.lookup_special_names():
  %vec16-ref (for calling it directly)
typer.type_of_fix():
  unify with user-supplied annotation


samrushing/irken-compiler,samrushing/irken-compiler,samrushing/irken-compiler,samrushing/irken-compiler