Ocaml

let 'a btree = Empty | Node of 'a * 'a btree * 'a btree;;

let rec member x btree = 
  match btree with
    Empty -> false
  | Node(y, left, right) ->
      if x = y then true else
      if x < y then member x left else member x right;;

let rec insert x btree =
  match btree with
    Enpty -> Node(x, Empty, Empty)
  | Node(y, left, right) ->
      if x <= y then Node(y, insert x left, right)
                else Node(y, left, insert right);;