Type chooser