Haskell muestra instancia en la lista

Tengo problemas para agregar una instancia de show a mi estructura de datos, que es:

data Structure = Structure String [Structure]  

y me gustaría tener esta salida:

strct  
    strct1  
    strct2  
    strct3  

He estado intentando esto

instance Show Structure where  
    show (Structure a (xs)) = show a ++ "\n" ++ "  " ++ show xs  

Pero su salida es

"strct"  
    ["strct1"  
    [], "strct2"  
    []]  

Por lo tanto, no necesitaría corchetes, ni comas ni comillas. ¿Algunas ideas? Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta