(define sim ...) (simulation.define sim 'print (lambda (simulation port) ... stuff to do with SIMULATION))(simulation.operation sim 'print (current-output-port))
An alternative style of programming is to have the operations closed over the simulation:
(define sim ...) (simulation.define sim 'print (lambda (port) ... stuff to do with SIMULATION))((simulation.get sim 'print) (current-output-port))