generalize part-f type checking (SO: IDs are not required anymore)