#root::data
Set root/data/Set.vi
struct Set[T](...);
empty root/data/Set.vi:11
const empty[T]: Set[T];
from_list root/data/Set.vi:17
impl from_list[T; Ord[T], Drop[T]]: Cast[List[T], Set[T]];
clear root/data/Set.vi:27
fn clear[T; Ord[T], Drop[T]](self: &Set[T]);
len root/data/Set.vi:31
fn len[T](...: &Set[T]) -> N32;
insert root/data/Set.vi:35
fn insert[T; Ord[T]](...: &Set[T], new: T) -> Option[T];
has root/data/Set.vi:64
fn has[T; Ord[T]](...: &Set[T], key: &T) -> Bool;
at_eq root/data/Set.vi:77
fn at_eq[T; Ord[T]](...: &Set[T], key: &T) -> Option[&T];
get_eq root/data/Set.vi:90
fn get_eq[T; Ord[T], Fork[T]](self: &Set[T], key: &T) -> Option[T];
at_le root/data/Set.vi:94
fn at_le[T; Ord[T]](...: &Set[T], key: &T) -> Option[&T];
get_le root/data/Set.vi:113
fn get_le[T; Ord[T], Fork[T]](self: &Set[T], key: &T) -> Option[T];
at_ge root/data/Set.vi:117
fn at_ge[T; Ord[T]](...: &Set[T], key: &T) -> Option[&T];
get_ge root/data/Set.vi:136
fn get_ge[T; Ord[T], Fork[T]](self: &Set[T], key: &T) -> Option[T];
remove root/data/Set.vi:140
fn remove[T; Ord[T]](...: &Set[T], key: &T) -> Option[T];
remove_min root/data/Set.vi:169
fn remove_min[T; Ord[T]](self: &Set[T]) -> Option[T];
remove_max root/data/Set.vi:177
fn remove_max[T; Ord[T]](self: &Set[T]) -> Option[T];
iter_ref root/data/Set.vi:215
fn iter_ref[T; Ord[T]](self: &Set[T]) -> IterRef[T];
IterRef root/data/Set.vi:219
struct IterRef[T](...);
iter root/data/Set.vi:246
fn iter[T; Ord[T]](self: Set[T]) -> Iter[T];
Iter root/data/Set.vi:250
struct Iter[T](...);
to_list root/data/Set.vi:275
impl to_list[T; Ord[T]]: Cast[Set[T], List[T]];
show root/data/Set.vi:287
impl show[T; Ord[T], Show[T]]: Show[Set[T]];
balanced root/data/Set.vi:298
fn balanced[T; Ord[T]](...: &Set[T]) -> Bool;
fork root/data/Set.vi:309
impl fork[T; Fork[T]]: Fork[Set[T]];
drop root/data/Set.vi:320
impl drop[T; Drop[T]]: Drop[Set[T]];