about to factor out double-typing in print-n