fun magic T = ? (* given some magic that gives for T a formula ? *) (* remember that magic is very obedient and reads comments too, remember also that Genies are very dangerous, if handled with care... without careful handling they are very harmless and know some good jokes. *) (* a wizard one day came to me "=", and wanted to know how to Crisp his image, when he already knew how to Blur and Move it perfectly fine. *) local datatype property = Crisp of unit | Blur of unit | Move of unit in fun searchImage form me = let val A = me val B = magic Move A (* move B, so that at least one element of A and B meet; how magic knows this all out!? dunno... *) in case form of Move => magic Move me | Blur => magic Blur me | Crisp => magic Converge A B (* converge, so that some new image forms. *) end end