I think the constraint is there to prevent you from instantating the things in Sql which _aren't_ protocols, which tend to have names starting with "sql":
indices(Sql);
(1) Result: ({ /* 15 elements */ "sybase", "msql", "postgres", "sql_result", "mysql", "sql_util", <-- this one "odbc", "sql", <-- this one "Sql", <-- and this one "rsql", "module", <-- the test seems to miss this one tho "postgres_result", "odbc_result", "oracle", "mysql_result" })
(Also, the names ending with "_result" are excempt for the same reason.)
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2003-12-20 07:54: Subject: Re: SQL
Unless you find some very compelling reason to keep that constraint, it would be very welcome to patch away that misfeature while at it. :)
/ Johan Sundström (achtung xmas!)