typedef struct comparable_s { int (*equals) (void *this, void *other); } *comparable_t;