At a glance, since io.errors loads printer, the user-level import
order shouldn't matter since the dependency graph should be the same
in either case. Maybe there's an import circularity between io and
printer? Finding and breaking that circularity should fix the problem.
-Joe