only infer type in the type.c file