svoid dm_handleEvalResult(O value, S shortened) { // handle images, GUI components, ... if (value cast BufferedImage) dm_showImage(value); else if (implementsInterfaceShortNamed(value, "MakesBufferedImage")) dm_showImage((BufferedImage) rcall getBufferedImage(value)); else { reMutable value = or(value, callOpt(value, "visualize")); if (value cast Component && getParent(value) == null) showFrame(shortened, value); } else { // handle Offer objects if (shortClassNameIs Offer(value)) thread { if (confirmYesNo(str(value))) callF(value); } } }