Haskell: Mostrar instancia ambigüedad

Estoy tratando de escribir una instancia de un programa para mostrar una fórmula bien formada, pero después de imitar toda la sintaxis, todavía tengo el mismo error que el siguiente.

Hugs> :load "C:\\Users\\Devil\\Desktop\\CASESTUDY1.hs"
ERROR file:.\CASESTUDY1.hs:15 - Ambiguous variable occurrence "show"
*** Could refer to: CASESTUDY1.show Hugs.Prelude.show 

A continuación se muestra el contenido de mi archivo .hs que incluye el tipo de datos y la instancia de programa relacionada.

module CASESTUDY1

where 

data Wff =   VAR String 
            | NEG Wff
            | AND Wff Wff 
            | OR Wff Wff
            | IMPL Wff Wff

instance Show Wff where
show (VAR x) = x
show (NEG x) = "~" ++ show(x)
show (AND x y) = "(" ++ show(x) ++ "^" ++ show(y) ++ ")"
show (OR x y) = "(" ++ show(x) ++ "v" ++ show(y) ++ ")"
show (IMPL x y) = "(" ++ show(x) ++ "-->" ++ show(y) ++ ")"

Respuestas a la pregunta(1)

Su respuesta a la pregunta