implemented getUnconflictedClassTag at macro-time instead of runtime