type traits sample
some stuff