Instance HaskLiteralToString : ToString HaskLiteral := { toString := haskLiteralToString }.
(* because Haskell's 3-tuples (triples) are distinct from both ((x,y),z) and (x,(y,z)), we need a new type: *)
Instance HaskLiteralToString : ToString HaskLiteral := { toString := haskLiteralToString }.
(* because Haskell's 3-tuples (triples) are distinct from both ((x,y),z) and (x,(y,z)), we need a new type: *)