(define impc:compiler:print-type-conflict-error
(lambda (type1 type2 ast)
(print-with-colors *impc:compiler:pretty-print-error-color*
'default #t (print "Type Error"))
(print " conflicting " )
(print-with-colors *impc:compiler:pretty-print-type-color* 'default #f (print type1))
(print " with ")
(print-with-colors *impc:compiler:pretty-print-type-color* 'default #f (print type2))
(if *impc:compiler:top-level-generic-error*
(begin
(print " calling ")
(print-with-colors *impc:compiler:pretty-print-name-color* 'default #f
(print (car *impc:compiler:top-level-generic-error*)))
(print "\n")
(set! *impc:compiler:top-level-generic-error* #f))
(begin
(print " in ")
(print-with-colors *impc:compiler:pretty-print-code-color* 'default #f (print ast "\n"))))
(if (impc:aot:currently-compiling?)
(quit 2)
(throw ""))))