Crazy idea #2: support for CRUD html forms
Expanding on the use of type object as a central reference point: adding support for html generation of CRUD forms for a web sites.

It would be optional, the user would have to import `norm/forms` for it to compile and work.

The idea is that, when writing a website that uses the database, the web server more easily communicates with database object. For example, with your sample web app, instead of:

``` nim
router owners:
  post "/":
    try:
      var owner = Owner(firstName: @"firstName", lastName: @"lastName",
                        birthDate: @"birthDate".parse("yyyy-MM-dd", utc()))

      withDb:
        owner.insert()

      resp %owner

    except:
      resp Http400
```

You could do something like:

``` nim
router owners:
  post "/":
    try:
      var owner = Owner().parseRequest(request)

      withDb:
        owner.insert()

      resp %owner

    except:
      resp Http400
```
In the other direction, there could be a `generateHTML` function that reads the object instance into a string containing the details of a form with class tags for styling by CSS.

Happy to start writing it as I'd use it on a web site. But wanted to get your feedback first.

This could also be a separate library that depended on `norm` rather than an expansion of `norm`. The benefit of expanding norm is that the `{. .}` pragmas could be tweaked to also support html display and entry conditions.