abstract Projection = { flags startcat = Comment ; cat Comment ; Item ; fun Pred : Item -> Comment ; Wine : Item ; }