"though - that just ends up as part of the library of the app..." Exactly, if it was, on the other hand, part of the database itself, it makes it a lot easier to use that database to back multiple applications, written potentially in different languages. In fact, accessing SQLit from multiple, polyglot applications would be much easier if: 1. There was a pseudo language with which we can define: 1.1. Custom SQL functions 1.2. Stored procedures 2. There was a way to (optionally) provide a default connection configuration file, which can be overriden on a per connection basis, but they all pick up the default first if it exists. Maybe even an option to make the defaults non-modifiable, as part of the defense against dark arts when the db can be accessed by potentially rogue processes.