pub fn clear(tree: Tree(a, b)) -> Tree(a, b)
pub fn delete(tree: Tree(a, b), key: a) -> Tree(a, b)
pub fn draw(
tree: Tree(a, b),
to_string: fn(a, b) -> String,
) -> String
pub fn find(tree: Tree(a, b), key: a) -> Result(#(a, b), Nil)
pub fn fold(tree: Tree(a, b), acc: c, fun: fn(c, a, b) -> c) -> c
pub fn foldr(
tree: Tree(a, b),
acc: c,
fun: fn(c, a, b) -> c,
) -> c
pub fn insert(tree: Tree(a, b), key: a, value: b) -> Tree(a, b)
pub fn new(compare: fn(a, a) -> Order) -> Tree(a, b)