basic inductive type traits