DB config keys with `Literal` default values return as strings
Message is being posted to guild system channel on join:
⚠ Entrant scanning has been disabled and reset. Invalid policies: ['{', 'n', 'i', 'c', 'k', ',', 'p', 'f', 'p', '}']
For the member_verification.scan_policies key default, an array of strings is being set. In the DB, the value is {'nick','pfp'}.
This is different from manually set guild config keys that contain lists of integers, which read [1,2,3] as intended. I believe the difference here is that we're passing a literal list of strings when creating the config key, whereas when setting a guild key via command, a stringified literal is stored in the DB.
Looks like psycopg isn't translating the Postgres list structure back into a python list when reading from the table. We can work around this by casting the list literal to a string when calling GuildConfig.new(). That way, when the value is returned by GuildConfig.get(), it'll be converted from a string to a literal by our helper method.