start to make detectAsmCoercion precise
detectAsmCoercion => detectType