#ifndef CUTES_TYPECLASS_HELPERS_H #define CUTES_TYPECLASS_HELPERS_H #define TC_FN_TYPECHECK(__Return, __Name, ...)\ __Return (*const __Name##_)(__VA_ARGS__) = __Name; (void)__Name##_ #define decl_typeclass_impl(__Typeclass, __Type)\ extern __Typeclass __Type##_as_##__Typeclass(__Type*); #define new(T) malloc(sizeof(T)) #define new_as(T, TC) T##_as_##TC(new(T)) #endif // !CUTES_TYPECLASS_HELPERS_H