attempt to fix type_traits rules