You just forgot some parens :)
instance Show Fruit where
show Apple = "Hey Apple"
show (Orange a) = show a ++ " number of Orange"
Patterns like Orange a
need parens to disambiguate from something like Apple a
where we really have two arguments.