HACK: re-instate the ItemFragment macro hack

This is to fix the preprocessor temporarily. Maybe ItemFragment can be
removed completely.