// Constructor. fn List() { let result = { data: [], push: (self, item) => { push(self.data, item); }, pop: (self) => { return pop(self.data); }, len: (self) => { return len(self.data); } }; return result; } // Instantiation. let list = List(); print("new list", list); // Pushing 5 items in a loop. let index = 0; loop { if (index >= 5) break; list.push(index); index = index + 1; } print("pushed list", list); // Misc accesses. print("length list", list.len()); // Misc accesses. print("poped item", list.pop()); // Misc accesses. print("poped list", list); // Misc accesses. print("list.data", list.data); print("list[\"data\"]", list["data"]);