fix generic union case constructors