add missing type traits functions