fix: vault statistics

a function called map_field is introduced which allows to specify
type format.
Good catch, we could perhaps have another except thrown in there.
KeyError would be caught when the dict 'key' is missing.
ValueError would be caught when you try to do something like
```python
 float('help me')
```