Hi, 
I'm trying to process on a tree with this function :

f (Branch x (Branch y y1 y2) (Branch z z1 z2)) = (x,y,y1,y2,z,z1,z2)

and my tree declaration is this : 

data Tree = Empty | Branch Integer Tree Tree deriving (Show)

And I'm getting this error : 

Main> f (Branch 12 (Branch 15 Empty Empty) (Branch 28 Empty Empty))
ERROR - Cannot find "show" function for:
*** Expression : f (Branch 12 (Branch 15 Empty Empty) (Branch 28 Empty Empty))
*** Of type    : (Integer,Integer,Tree,Tree,Integer,Tree,Tree)

I'll be happy if you help me to get rid of this error..