-#define SOD_DECL(cls, var, keys) \
- struct cls##__ilayout var##__layout; \
- cls *var = (cls *)sod_init(cls##__class, &var##__layout, keys)
+#define SOD_DECL(cls_, var, keys) \
+ struct cls_##__ilayout var##__layout; \
+ cls_ *var = \
+ SOD__PARANOIA(sizeof(var##__layout) == cls_##__class->cls.initsz, \
+ (cls_ *)sod_init(cls_##__class, &var##__layout, keys), \
+ (sod__chksz_fail(cls_##__class, sizeof(var##__layout)), \
+ (cls_ *)0))