Hi,
While reading the code related to creating subscriptions and publications for logical replication I found a difference between passing options to parse_subscription_options and parse_publication_options.
To parse_publication_options function we pass all options separately, while in parse_subscription_options we use SubOpts.
IMO the usage of a struct instead of each option separately seems cleaner.
I attached a patch that creates a PubOpts struct and uses it in all parse_publication_options occurrences.