+ / 8. C<<1 object oriented infrastructure, updated 2008-01-26
+ '----------------------------------------------------------------------- */
+#define define_metaobject(METATYPE,ITYPE) struct METATYPE { struct ITYPE *__interface; };
+#define define_interface(MTYPE,ITYPE) struct ITYPE *__construct_##_##MTYPE##_##ITYPE(void *dummy, ...) { Define_mem(_FACE,IFACE); va_list(ap); _FACE=get_mem(IFACE) __bind_##_##MTYPE##_##ITYPE(_FACE); return _FACE; } void __bind_##_##MTYPE##_##ITYPE(struct IFACE *_FACE)
+#define bind_method(METHOD,FUNCTION) _FACE->METHOD=FUNCTION
+#define construct_interface(MTYPE,...) __construct_##_##MTYPE##_##_ARG1(__VA_ARGS__)((void *)__get_##_##MTYPE##_##__VA_ARGS__)
+#define get_object(TYPE,...) (struct TYPE *)__cll1_allocate_object(sizeof(struct TYPE), _ARG2(__VA_ARGS__) - 0)
+#define construct_object(TYPE,...)
+//#define _(OBJECT,...) (_ASSERT(OBJECT),/**/(*(OBJECT->interface->_ARG1(__VA_ARGS__,)))/**/(OBJECT,OBJECT->interface->__VA_ARGS__)/**/)
+
+/* .----------------------------------------------------------------------.
+ / 9. implementation of C<<1 library functions, updated 2008-01-26 xCh.