-typedef val_t (* list___List___iterator_t)(val_t self);
-val_t list___List___iterator(val_t self);
-#define LOCATE_list___List___iterator "list::List::(abstract_collection::Collection::iterator)"
-typedef val_t (* list___List___is_empty_t)(val_t self);
-val_t list___List___is_empty(val_t self);
-#define LOCATE_list___List___is_empty "list::List::(abstract_collection::Collection::is_empty)"
-typedef val_t (* list___List___length_t)(val_t self);
-val_t list___List___length(val_t self);
-#define LOCATE_list___List___length "list::List::(abstract_collection::Collection::length)"
-typedef val_t (* list___List___has_t)(val_t self, val_t param0);
-val_t list___List___has(val_t self, val_t param0);
-#define LOCATE_list___List___has "list::List::(abstract_collection::Collection::has)"
-typedef val_t (* list___List___has_only_t)(val_t self, val_t param0);
-val_t list___List___has_only(val_t self, val_t param0);
-#define LOCATE_list___List___has_only "list::List::(abstract_collection::Collection::has_only)"
-typedef val_t (* list___List___count_t)(val_t self, val_t param0);
-val_t list___List___count(val_t self, val_t param0);
-#define LOCATE_list___List___count "list::List::(abstract_collection::Collection::count)"
-typedef val_t (* list___List___first_t)(val_t self);
-val_t list___List___first(val_t self);
-#define LOCATE_list___List___first "list::List::(abstract_collection::Collection::first)"
-typedef val_t (* list___List_____bra_t)(val_t self, val_t param0);
-val_t list___List_____bra(val_t self, val_t param0);
-#define LOCATE_list___List_____bra "list::List::(abstract_collection::MapRead::[])"
-typedef val_t (* list___List___has_key_t)(val_t self, val_t param0);
-val_t list___List___has_key(val_t self, val_t param0);
-#define LOCATE_list___List___has_key "list::List::(abstract_collection::MapRead::has_key)"
-typedef val_t (* list___List___last_t)(val_t self);
-val_t list___List___last(val_t self);
-#define LOCATE_list___List___last "list::List::(abstract_collection::IndexedCollectionRead::last)"
-typedef void (* list___List___clear_t)(val_t self);
-void list___List___clear(val_t self);
-#define LOCATE_list___List___clear "list::List::(abstract_collection::RemovableCollection::clear)"
-typedef void (* list___List___remove_t)(val_t self, val_t param0);
-void list___List___remove(val_t self, val_t param0);
-#define LOCATE_list___List___remove "list::List::(abstract_collection::RemovableCollection::remove)"
-typedef void (* list___List_____braeq_t)(val_t self, val_t param0, val_t param1);
-void list___List_____braeq(val_t self, val_t param0, val_t param1);
-#define LOCATE_list___List_____braeq "list::List::(abstract_collection::Map::[]=)"
-typedef void (* list___List___remove_at_t)(val_t self, val_t param0);
-void list___List___remove_at(val_t self, val_t param0);
-#define LOCATE_list___List___remove_at "list::List::(abstract_collection::Map::remove_at)"
-typedef void (* list___List___first__eq_t)(val_t self, val_t param0);
-void list___List___first__eq(val_t self, val_t param0);
-#define LOCATE_list___List___first__eq "list::List::(abstract_collection::IndexedCollection::first=)"
-typedef void (* list___List___last__eq_t)(val_t self, val_t param0);
-void list___List___last__eq(val_t self, val_t param0);
-#define LOCATE_list___List___last__eq "list::List::(abstract_collection::IndexedCollection::last=)"
-typedef void (* list___List___push_t)(val_t self, val_t param0);
-void list___List___push(val_t self, val_t param0);
-#define LOCATE_list___List___push "list::List::(abstract_collection::IndexedCollection::push)"
-typedef val_t (* list___List___pop_t)(val_t self);
-val_t list___List___pop(val_t self);
-#define LOCATE_list___List___pop "list::List::(abstract_collection::IndexedCollection::pop)"
-typedef void (* list___List___unshift_t)(val_t self, val_t param0);
-void list___List___unshift(val_t self, val_t param0);
-#define LOCATE_list___List___unshift "list::List::(abstract_collection::IndexedCollection::unshift)"
-typedef val_t (* list___List___shift_t)(val_t self);
-val_t list___List___shift(val_t self);
-#define LOCATE_list___List___shift "list::List::(abstract_collection::IndexedCollection::shift)"
-typedef void (* list___List___link_t)(val_t self, val_t param0);
-void list___List___link(val_t self, val_t param0);
-#define LOCATE_list___List___link "list::List::link"
-typedef void (* list___List___init_t)(val_t self, int* init_table);
-void list___List___init(val_t self, int* init_table);
-#define LOCATE_list___List___init "list::List::init"
+static const char * const LOCATE_list___List_____bra = "list::List::(abstract_collection::MapRead::[])";
+val_t list___List_____bra(val_t p0, val_t p1);
+typedef val_t (*list___List_____bra_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List_____braeq = "list::List::(abstract_collection::Map::[]=)";
+void list___List_____braeq(val_t p0, val_t p1, val_t p2);
+typedef void (*list___List_____braeq_t)(val_t p0, val_t p1, val_t p2);
+static const char * const LOCATE_list___List___first = "list::List::(abstract_collection::Collection::first)";
+val_t list___List___first(val_t p0);
+typedef val_t (*list___List___first_t)(val_t p0);
+static const char * const LOCATE_list___List___first__eq = "list::List::(abstract_collection::Sequence::first=)";
+void list___List___first__eq(val_t p0, val_t p1);
+typedef void (*list___List___first__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___last = "list::List::(abstract_collection::SequenceRead::last)";
+val_t list___List___last(val_t p0);
+typedef val_t (*list___List___last_t)(val_t p0);
+static const char * const LOCATE_list___List___last__eq = "list::List::(abstract_collection::Sequence::last=)";
+void list___List___last__eq(val_t p0, val_t p1);
+typedef void (*list___List___last__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___is_empty = "list::List::(abstract_collection::Collection::is_empty)";
+val_t list___List___is_empty(val_t p0);
+typedef val_t (*list___List___is_empty_t)(val_t p0);
+static const char * const LOCATE_list___List___length = "list::List::(abstract_collection::Collection::length)";
+val_t list___List___length(val_t p0);
+typedef val_t (*list___List___length_t)(val_t p0);
+static const char * const LOCATE_list___List___has = "list::List::(abstract_collection::Collection::has)";
+val_t list___List___has(val_t p0, val_t p1);
+typedef val_t (*list___List___has_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___has_only = "list::List::(abstract_collection::Collection::has_only)";
+val_t list___List___has_only(val_t p0, val_t p1);
+typedef val_t (*list___List___has_only_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___count = "list::List::(abstract_collection::Collection::count)";
+val_t list___List___count(val_t p0, val_t p1);
+typedef val_t (*list___List___count_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___has_key = "list::List::(abstract_collection::MapRead::has_key)";
+val_t list___List___has_key(val_t p0, val_t p1);
+typedef val_t (*list___List___has_key_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___push = "list::List::(abstract_collection::Sequence::push)";
+void list___List___push(val_t p0, val_t p1);
+typedef void (*list___List___push_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___unshift = "list::List::(abstract_collection::Sequence::unshift)";
+void list___List___unshift(val_t p0, val_t p1);
+typedef void (*list___List___unshift_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___link = "list::List::link";
+void list___List___link(val_t p0, val_t p1);
+typedef void (*list___List___link_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___pop = "list::List::(abstract_collection::Sequence::pop)";
+val_t list___List___pop(val_t p0);
+typedef val_t (*list___List___pop_t)(val_t p0);
+static const char * const LOCATE_list___List___shift = "list::List::(abstract_collection::Sequence::shift)";
+val_t list___List___shift(val_t p0);
+typedef val_t (*list___List___shift_t)(val_t p0);
+static const char * const LOCATE_list___List___remove = "list::List::(abstract_collection::RemovableCollection::remove)";
+void list___List___remove(val_t p0, val_t p1);
+typedef void (*list___List___remove_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___remove_at = "list::List::(abstract_collection::Map::remove_at)";
+void list___List___remove_at(val_t p0, val_t p1);
+typedef void (*list___List___remove_at_t)(val_t p0, val_t p1);
+static const char * const LOCATE_list___List___clear = "list::List::(abstract_collection::RemovableCollection::clear)";
+void list___List___clear(val_t p0);
+typedef void (*list___List___clear_t)(val_t p0);
+static const char * const LOCATE_list___List___iterator = "list::List::(abstract_collection::Collection::iterator)";
+val_t list___List___iterator(val_t p0);
+typedef val_t (*list___List___iterator_t)(val_t p0);
+static const char * const LOCATE_list___List___init = "list::List::init";
+void list___List___init(val_t p0, int* init_table);
+typedef void (*list___List___init_t)(val_t p0, int* init_table);