gPrint{|EITHER|} _ fr (RIGHT x) acc = fr x acc
gPrint{|OBJECT|} f (OBJECT x) acc = f x acc
-gPrint{|CONS of gcd|} f (CONS x) acc = ["(", gcd.gcd_name, " ":f x [")":acc]]
-gPrint{|RECORD of grd|} f (RECORD x) acc = ["{", grd.grd_name, " | ":f x ["}":acc]]
-gPrint{|FIELD of gfd|} f (FIELD x) acc = [pre, gfd.gfd_name, "=":f x acc]
-where
- pre = if (gfd.gfd_index == 0) "" ", "
+gPrint{|CONS of gcd|} f (CONS x) acc
+ = ["(", gcd.gcd_name, " ":f x [")":acc]]
+gPrint{|RECORD of grd|} f (RECORD x) acc
+ = ["{", grd.grd_name, " | ":f x ["}":acc]]
+gPrint{|FIELD of gfd|} f (FIELD x) acc
+ = [pre, gfd.gfd_name, "=":f x acc]
+where pre = if (gfd.gfd_index == 0) "" ", "
:: T = {f1 :: Int, f2 :: (Real, [?Int])}
derive gPrint (,), [], ?, T