UsingLibical.txt says about multiple categories
"However when you convert a component to a string, the library will collect all of the CATEGORIES properties into one. "
But this does not work. If I add 3 new category properties to an event and then call icalcomponent_as_ical_string() I get three single valued CATEGORIES properties, not one as suggested.
There is a related categories bug # 3385364