How can I find the length of a tree in Haskell? : I have tried this:

    tWLength  (Node v l r) u            | v == u = 0
                                        | v <  u = 1 + (tWLength l)
                                        | v >  u = 1 + (tWLength r)

However it returns (in WinGHCi):

    experiments\treetest.hs:170:1: error:
        • Occurs check: cannot construct the infinite type: a1 ~ a -> a1
          Expected type: Tree a -> a1
            Actual type: Tree a -> a -> a1
        • Relevant bindings include
            tWLength :: Tree a -> a1 (bound at experiments\treetest.hs:170:1)
        |
    170 | tWLength  (Node v l r) u            | v == u = 0     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

The tree is defined as:

    data Tree a = NullTree | Node a (Tree a) (Tree a) deriving (Show, Read, Eq, Ord)