every function for type print receives environment