pub type Map(k, v) =
  tree.Tree(k, v)


pub fn count(map: Tree(a, b)) -> Int
pub fn delete(from map: Tree(a, b), this key: a) -> Tree(a, b)
pub fn filter(
  in map: Tree(a, b),
  for property: fn(a, b) -> Bool,
) -> Tree(a, b)
pub fn find(
  in map: Tree(a, b),
  key key: a,
) -> Result(#(a, b), Nil)
pub fn fold(
  over map: Tree(a, b),
  from initial: c,
  with reducer: fn(c, a, b) -> c,
) -> c
pub fn from_list(
  members: List(#(a, b)),
  compare: fn(a, a) -> Order,
) -> Tree(a, b)
pub fn has_key(in map: Tree(a, b), key key: a) -> Bool
pub fn insert(
  into map: Tree(a, b),
  key key: a,
  value value: b,
) -> Tree(a, b)
pub fn merge(
  this first: Tree(a, b),
  and second: Tree(a, b),
) -> Tree(a, b)
pub fn new(compare: fn(a, a) -> Order) -> Tree(a, b)
pub fn take(
  from map: Tree(a, b),
  keeping desired: List(a),
) -> Tree(a, b)
pub fn to_list(map: Tree(a, b)) -> List(#(a, b))
Search Document