functor (X : PrinterClass-> PrinterClass