abstract class IntTree case object EmptyTree extends IntTree case class Node(elem: Int, left: IntTree, right: IntTree) extends IntTree def contains(t: IntTree, v: Int): Boolean = t match { case EmptyTree => false case Node(x,l,r) => if (x == v) true else if (v < x) contains(l,v) else contains(r,v) }