use component/type for type detection