Dev/initial

cc @Raynos
This is probably a bad idea.

This creates a situation where `h('a', {}, h('p'), h('p'))` works but `h('a', h('p'), h('p'))` does not work.

I strongly recommend not being too magical. Supporting only

```js
h('a')
h('a', {})
h('a', {}, [ ... ])
h('a', [ ... ])
```

will make your pain less.