making match expression type judgement