About the Hyperapp example, this is completely wrong. It might work but that's not how you should create an action. It should be a pure function returning a new state:
Wrong:
```
onInputChange: (event) => state => {
state.form[event.target.name] = event.target.value;
return state;
},
```
Right:
```
onInputChange: (event) => state => {
return {
form: {
...state.form,
[event.target.name]: event.target.value
}
}
},
```