I tried the following code but I get an error that *`a`* is not matched with the expected type "`Integer`".

```
data Tree a = Tip | Bin (Tree a) a (Tree a)

sumTree :: Num a => Tree a -> a

sumTotal = 0
sumTree Tip = 0
sumTree (Bin l a r) = (sumTotal+ a)+ sumTree l + sumTree 

```