I think it would be simplest to use a regular expression to pull out the symbol
names from the declared function in order to write out the DROP text.
Otherwise, just add additional arguments to ReplaceableObject. It's a recipe so
you should change it directly, I wouldn't create new superclasses
I am using alembic with Snowflake.
In terms of DDL migrations I need to cater for SECURED VIEWS, it is pretty
trivial to extend ReplaceableObject to deal with this.
The other thing I am finding is that Snowflake insists that DROP FUNCTION
be provided with a list of the argument types along with