fix bug in type infer