possible change to the db macro setup
I'm not convinced what I'm about to suggest is a good idea. But, I'd like to suggest it and show how/why it could work.

Rather than use the `db` macro, use a similar `table` macro that is generic to all objects. Then, use a passed variable for the actual db references.

Example:

```nim
table:
  type                           
    User = object
      age: int 
      name {.
        formatIt: capitalize(it)  # Guarantee that ``name`` is stored in DB capitalized.
      .}: string

db = database("petshop.db", "", "", ""):

withDb:                         
  createTables(db, force=true)

  var bob = User(                 # Create a ``User`` instance as you normally would.
    name: "bob",                  # We are inserting a null!
    age: 23
  )
  bob.insert(db)
```

Why do such a thing? This biggest one is that allows the same object to be used across multiple databases; even databases of different types. For example:

```nim
table():
  type                           
    User = object
      age: int 
      name {.
        formatIt: capitalize(it)  # Guarantee that ``name`` is stored in DB capitalized.
      .}: string

dbA = database("petshop.db", "", "", ""):
dbB = database("larry.db", "", "", ""):

withDb:                         
  createTables(dbA, force=true)
  createTables(dbB, force=true)

  var bob = User(                 # Create a ``User`` instance as you normally would.
    name: "bob",                  # We are inserting a null!
    age: 23
  )
  bob.insert(dbA)
  bob.insert(dbB)
```

Or, it could possibly be referenced in reverse:

```nim
  dbA.insert(bob)
  dbB.insert(bob)
```
though, that is less oriented to the object. I prefer the earlier.

Another minor benefit of this is then the parameters to `table` could be open-ended in nature:

```nim
table(alias="customer_idents"):
  type                           
    User = object
      age: int 
      name {.
        formatIt: capitalize(it)  # Guarantee that ``name`` is stored in DB capitalized.
      .}: string
```

The big downside, of course, is that this is a VERY BIG change. Nothing subtle about it. :)