Use operation-specific (flat) polymorphic variant sets for errors

Signed-off-by: David Scott <dave.scott@eu.citrix.com>