<' struct base_object { addr : byte; data : byte; }; struct keyed_list { !memory : list (key:addr) of base_object; // writing to a keyed list write_item(object : base_object) is { memory.add(object); print object; }; // Reading from keyed list read_item(object : base_object) is { var local_object : base_object = memory.key(object.addr); print local_object; }; }; // Just to check our code extend sys { data : base_object; mem_model : keyed_list; run() is also { gen data; mem_model.write_item(data); mem_model.read_item(data); }; }; '>