adding some super ugly macros meant for static_asserts in entity mgr