+/* ------------------------------------------------------------------- */
+/* Object infrastructure and basic macros - updated 2008-01-13 by xCh. */
+/* unfinished */
+#define uses_interface(TYPE) struct TYPE *__class
+#define method(NAME)
+#define interface_implementation(IFACE,TYPE) struct TYPE *__get_##_##IFACE(void) { struct TYPE *_FACE=get_mem(TYPE); __bind_##_##IFACE(_FACE); return _IFC; } void __bind_##_##IFACE(struct TYPE *_FACE)
+#define bind_method(METHOD,FUNCTION) _IFACE->METHOD=FUNCTION
+#define get_interface(IFACE) __get_##_##IFACE(void)
+// must be function #define get_object(TYPE) (_CLL1_MALLOC(TYPE),CLL1_ASSERT(),)
+#define _(OBJECT,FUNCTION) OBJECT==NULL?NULL::(*(OBJECT->__class->METHOD))(OBJECT