+inline void
+add_entity_overwrittenby (entity *ent, entity *overwrites) {
+ assert(ent);
+ assert(is_class_type(get_entity_owner(ent)));
+ add_entity_overwrites(overwrites, ent);
+}
+
+inline int
+get_entity_n_overwrittenby (entity *ent) {
+ assert(ent);
+ assert(is_class_type(get_entity_owner(ent)));
+ return (ARR_LEN (ent->overwrittenby))-1;
+}
+
+inline entity *
+get_entity_overwrittenby (entity *ent, int pos) {
+ assert(ent);
+ assert(is_class_type(get_entity_owner(ent)));
+ assert(pos < get_entity_n_overwrittenby(ent));
+ return ent->overwrittenby[pos+1];
+}
+
+inline void
+set_entity_overwrittenby (entity *ent, int pos, entity *overwrites) {
+ assert(ent);
+ assert(is_class_type(get_entity_owner(ent)));
+ assert(pos < get_entity_n_overwrittenby(ent));
+ ent->overwrittenby[pos+1] = overwrites;
+}
+