-#define ID_PartialOrder SFT_partial_order[0]
-#define COLOR_PartialOrder SFT_partial_order[1]
-#define COLOR_partial_order___PartialOrder____elements SFT_partial_order[2]
-#define COLOR_partial_order___PartialOrder____elements_list SFT_partial_order[3]
-#define COLOR_partial_order___PartialOrder____roots SFT_partial_order[4]
-#define INIT_TABLE_POS_PartialOrder SFT_partial_order[5]
-#define COLOR_partial_order___PartialOrder___roots SFT_partial_order[6]
-#define COLOR_partial_order___PartialOrder_____bra SFT_partial_order[7]
-#define COLOR_partial_order___PartialOrder___to_dot SFT_partial_order[8]
-#define COLOR_partial_order___PartialOrder___to_dot_header SFT_partial_order[9]
-#define COLOR_partial_order___PartialOrder___to_dot_node SFT_partial_order[10]
-#define COLOR_partial_order___PartialOrder___to_dot_edge SFT_partial_order[11]
-#define COLOR_partial_order___PartialOrder___select_smallests SFT_partial_order[12]
-#define COLOR_partial_order___PartialOrder___add SFT_partial_order[13]
-#define COLOR_partial_order___PartialOrder___has_all SFT_partial_order[14]
-#define COLOR_partial_order___PartialOrder___new_poe SFT_partial_order[15]
-#define COLOR_partial_order___PartialOrder___add_to_smallests SFT_partial_order[16]
-#define COLOR_partial_order___PartialOrder___compute_smallers_for SFT_partial_order[17]
-#define COLOR_partial_order___PartialOrder___init SFT_partial_order[18]
-#define ID_PartialOrderElement SFT_partial_order[19]
-#define COLOR_PartialOrderElement SFT_partial_order[20]
-#define COLOR_partial_order___PartialOrderElement____order SFT_partial_order[21]
-#define COLOR_partial_order___PartialOrderElement____value SFT_partial_order[22]
-#define COLOR_partial_order___PartialOrderElement____rank SFT_partial_order[23]
-#define COLOR_partial_order___PartialOrderElement____direct_greaters SFT_partial_order[24]
-#define COLOR_partial_order___PartialOrderElement____direct_smallers SFT_partial_order[25]
-#define COLOR_partial_order___PartialOrderElement____greaters SFT_partial_order[26]
-#define COLOR_partial_order___PartialOrderElement____greaters_and_self_cache SFT_partial_order[27]
-#define COLOR_partial_order___PartialOrderElement____smallers_last_length SFT_partial_order[28]
-#define COLOR_partial_order___PartialOrderElement____smallers_cache SFT_partial_order[29]
-#define COLOR_partial_order___PartialOrderElement____linear_extension_cache SFT_partial_order[30]
-#define COLOR_partial_order___PartialOrderElement____reverse_linear_extension_cache SFT_partial_order[31]
-#define INIT_TABLE_POS_PartialOrderElement SFT_partial_order[32]
-#define COLOR_partial_order___PartialOrderElement___order SFT_partial_order[33]
-#define COLOR_partial_order___PartialOrderElement___value SFT_partial_order[34]
-#define COLOR_partial_order___PartialOrderElement___rank SFT_partial_order[35]
-#define COLOR_partial_order___PartialOrderElement___direct_greaters SFT_partial_order[36]
-#define COLOR_partial_order___PartialOrderElement___direct_smallers SFT_partial_order[37]
-#define COLOR_partial_order___PartialOrderElement___greaters SFT_partial_order[38]
-#define COLOR_partial_order___PartialOrderElement___greaters_and_self SFT_partial_order[39]
-#define COLOR_partial_order___PartialOrderElement___smallers SFT_partial_order[40]
-#define COLOR_partial_order___PartialOrderElement___linear_extension SFT_partial_order[41]
-#define COLOR_partial_order___PartialOrderElement___reverse_linear_extension SFT_partial_order[42]
-#define COLOR_partial_order___PartialOrderElement_____l SFT_partial_order[43]
-#define COLOR_partial_order___PartialOrderElement_____leq SFT_partial_order[44]
-#define COLOR_partial_order___PartialOrderElement_____g SFT_partial_order[45]
-#define COLOR_partial_order___PartialOrderElement_____geq SFT_partial_order[46]
-#define COLOR_partial_order___PartialOrderElement___register_direct_smallers SFT_partial_order[47]
-#define COLOR_partial_order___PartialOrderElement___init SFT_partial_order[48]
-#define ATTR_partial_order___PartialOrder____elements(recv) ATTR(recv, COLOR_partial_order___PartialOrder____elements)
-#define ATTR_partial_order___PartialOrder____elements_list(recv) ATTR(recv, COLOR_partial_order___PartialOrder____elements_list)
-#define ATTR_partial_order___PartialOrder____roots(recv) ATTR(recv, COLOR_partial_order___PartialOrder____roots)
-typedef val_t (* partial_order___PartialOrder___roots_t)(val_t self);
-val_t partial_order___PartialOrder___roots(val_t self);
+#define ID_PartialOrder (SFT_partial_order[0])
+#define COLOR_PartialOrder (SFT_partial_order[1])
+#define ATTR_partial_order___PartialOrder____elements(recv) ATTR(recv, (SFT_partial_order[2] + 0))
+#define ATTR_partial_order___PartialOrder____elements_list(recv) ATTR(recv, (SFT_partial_order[2] + 1))
+#define ATTR_partial_order___PartialOrder____roots(recv) ATTR(recv, (SFT_partial_order[2] + 2))
+#define INIT_TABLE_POS_PartialOrder (SFT_partial_order[3] + 0)
+#define CALL_partial_order___PartialOrder___roots(recv) ((partial_order___PartialOrder___roots_t)CALL((recv), (SFT_partial_order[3] + 1)))
+#define CALL_partial_order___PartialOrder_____bra(recv) ((partial_order___PartialOrder_____bra_t)CALL((recv), (SFT_partial_order[3] + 2)))
+#define CALL_partial_order___PartialOrder___to_dot(recv) ((partial_order___PartialOrder___to_dot_t)CALL((recv), (SFT_partial_order[3] + 3)))
+#define CALL_partial_order___PartialOrder___to_dot_header(recv) ((partial_order___PartialOrder___to_dot_header_t)CALL((recv), (SFT_partial_order[3] + 4)))
+#define CALL_partial_order___PartialOrder___to_dot_node(recv) ((partial_order___PartialOrder___to_dot_node_t)CALL((recv), (SFT_partial_order[3] + 5)))
+#define CALL_partial_order___PartialOrder___to_dot_edge(recv) ((partial_order___PartialOrder___to_dot_edge_t)CALL((recv), (SFT_partial_order[3] + 6)))
+#define CALL_partial_order___PartialOrder___select_smallests(recv) ((partial_order___PartialOrder___select_smallests_t)CALL((recv), (SFT_partial_order[3] + 7)))
+#define CALL_partial_order___PartialOrder___add(recv) ((partial_order___PartialOrder___add_t)CALL((recv), (SFT_partial_order[3] + 8)))
+#define CALL_partial_order___PartialOrder___has_all(recv) ((partial_order___PartialOrder___has_all_t)CALL((recv), (SFT_partial_order[3] + 9)))
+#define CALL_partial_order___PartialOrder___new_poe(recv) ((partial_order___PartialOrder___new_poe_t)CALL((recv), (SFT_partial_order[3] + 10)))
+#define CALL_partial_order___PartialOrder___add_to_smallests(recv) ((partial_order___PartialOrder___add_to_smallests_t)CALL((recv), (SFT_partial_order[3] + 11)))
+#define CALL_partial_order___PartialOrder___compute_smallers_for(recv) ((partial_order___PartialOrder___compute_smallers_for_t)CALL((recv), (SFT_partial_order[3] + 12)))
+#define CALL_partial_order___PartialOrder___init(recv) ((partial_order___PartialOrder___init_t)CALL((recv), (SFT_partial_order[3] + 13)))
+#define ID_PartialOrderElement (SFT_partial_order[4])
+#define COLOR_PartialOrderElement (SFT_partial_order[5])
+#define ATTR_partial_order___PartialOrderElement____order(recv) ATTR(recv, (SFT_partial_order[6] + 0))
+#define ATTR_partial_order___PartialOrderElement____value(recv) ATTR(recv, (SFT_partial_order[6] + 1))
+#define ATTR_partial_order___PartialOrderElement____rank(recv) ATTR(recv, (SFT_partial_order[6] + 2))
+#define ATTR_partial_order___PartialOrderElement____direct_greaters(recv) ATTR(recv, (SFT_partial_order[6] + 3))
+#define ATTR_partial_order___PartialOrderElement____direct_smallers(recv) ATTR(recv, (SFT_partial_order[6] + 4))
+#define ATTR_partial_order___PartialOrderElement____greaters(recv) ATTR(recv, (SFT_partial_order[6] + 5))
+#define ATTR_partial_order___PartialOrderElement____greaters_and_self_cache(recv) ATTR(recv, (SFT_partial_order[6] + 6))
+#define ATTR_partial_order___PartialOrderElement____smallers_last_length(recv) ATTR(recv, (SFT_partial_order[6] + 7))
+#define ATTR_partial_order___PartialOrderElement____smallers_cache(recv) ATTR(recv, (SFT_partial_order[6] + 8))
+#define ATTR_partial_order___PartialOrderElement____linear_extension_cache(recv) ATTR(recv, (SFT_partial_order[6] + 9))
+#define ATTR_partial_order___PartialOrderElement____reverse_linear_extension_cache(recv) ATTR(recv, (SFT_partial_order[6] + 10))
+#define INIT_TABLE_POS_PartialOrderElement (SFT_partial_order[7] + 0)
+#define CALL_partial_order___PartialOrderElement___order(recv) ((partial_order___PartialOrderElement___order_t)CALL((recv), (SFT_partial_order[7] + 1)))
+#define CALL_partial_order___PartialOrderElement___value(recv) ((partial_order___PartialOrderElement___value_t)CALL((recv), (SFT_partial_order[7] + 2)))
+#define CALL_partial_order___PartialOrderElement___rank(recv) ((partial_order___PartialOrderElement___rank_t)CALL((recv), (SFT_partial_order[7] + 3)))
+#define CALL_partial_order___PartialOrderElement___direct_greaters(recv) ((partial_order___PartialOrderElement___direct_greaters_t)CALL((recv), (SFT_partial_order[7] + 4)))
+#define CALL_partial_order___PartialOrderElement___direct_smallers(recv) ((partial_order___PartialOrderElement___direct_smallers_t)CALL((recv), (SFT_partial_order[7] + 5)))
+#define CALL_partial_order___PartialOrderElement___greaters(recv) ((partial_order___PartialOrderElement___greaters_t)CALL((recv), (SFT_partial_order[7] + 6)))
+#define CALL_partial_order___PartialOrderElement___greaters_and_self(recv) ((partial_order___PartialOrderElement___greaters_and_self_t)CALL((recv), (SFT_partial_order[7] + 7)))
+#define CALL_partial_order___PartialOrderElement___smallers(recv) ((partial_order___PartialOrderElement___smallers_t)CALL((recv), (SFT_partial_order[7] + 8)))
+#define CALL_partial_order___PartialOrderElement___linear_extension(recv) ((partial_order___PartialOrderElement___linear_extension_t)CALL((recv), (SFT_partial_order[7] + 9)))
+#define CALL_partial_order___PartialOrderElement___reverse_linear_extension(recv) ((partial_order___PartialOrderElement___reverse_linear_extension_t)CALL((recv), (SFT_partial_order[7] + 10)))
+#define CALL_partial_order___PartialOrderElement_____l(recv) ((partial_order___PartialOrderElement_____l_t)CALL((recv), (SFT_partial_order[7] + 11)))
+#define CALL_partial_order___PartialOrderElement_____leq(recv) ((partial_order___PartialOrderElement_____leq_t)CALL((recv), (SFT_partial_order[7] + 12)))
+#define CALL_partial_order___PartialOrderElement_____g(recv) ((partial_order___PartialOrderElement_____g_t)CALL((recv), (SFT_partial_order[7] + 13)))
+#define CALL_partial_order___PartialOrderElement_____geq(recv) ((partial_order___PartialOrderElement_____geq_t)CALL((recv), (SFT_partial_order[7] + 14)))
+#define CALL_partial_order___PartialOrderElement___register_direct_smallers(recv) ((partial_order___PartialOrderElement___register_direct_smallers_t)CALL((recv), (SFT_partial_order[7] + 15)))
+#define CALL_partial_order___PartialOrderElement___init(recv) ((partial_order___PartialOrderElement___init_t)CALL((recv), (SFT_partial_order[7] + 16)))
+typedef val_t (* partial_order___PartialOrder___iterator_t)(val_t self);
+val_t partial_order___PartialOrder___iterator(val_t self);
+#define LOCATE_partial_order___PartialOrder___iterator "partial_order::PartialOrder::(abstract_collection::Collection::iterator)"