bikeshed: what about:

```python
prefix_arg = kwargs.get('prefix')
if prefix_arg is None:
  prefix = key
else:
  prefix = '{}__{}'.format(key, prefix)
```

Because, when you don't have a prefix, you get fields with the id `id_formname__-fieldname`. Is that expected?