detect extract super type