interface mysql { use rdbms-types.{parameter-value, row-set}; // General purpose error. variant mysql-error { success, connection-failed(string), bad-parameter(string), query-failed(string), value-conversion-failed(string), other-error(string) } // query the database: select query: func(address: string, statement: string, params: list) -> result; // execute command to the database: insert, update, delete execute: func(address: string, statement: string, params: list) -> result<_, mysql-error>; }