Added specialization based on types_traits