split type into type head and type tail