successor fdtg (SNode val _ tl tr)
    | fdtg >= val    = successor fdtg tr
    | otherwise      = successor fdtg (sinsTree val tl)
successor fdtg (SNode val _ tl tr)
    | fdtg >= val    = successor fdtg tr
    | otherwise      = successor fdtg (sinsTree val tl)
successor fdtg (SNode val _ tl tr)
    | fdtg >= val    = successor fdtg tr
    | otherwise      = successor fdtg (sinsTree val tl)