Jian Fan wrote: > Following is what I have for now... Oh, nice! That is simpler. Now we can do: searchTree pred rootLoc | pred (getLabel rootLoc) = Just rootLoc | otherwise = search right `mplus` search firstChild where search next = next rootLoc >>= searchTree pred Regards, Yitz