Josiah Kaviani
Josiah Kaviani
Same value assigned to multiple names should be shown as alias. Boolean and integer values should not be treated as aliases.
Arguments should be shown before variables. Long variables shown on the next line. Variable with multiline representation are properly indented.
Exception and failed step should present in `repr(state)`. This includes `StateError` raised by access to missing attribute.
Story could receive implementation details `f`, `load_user`, `create_user` via constructor.
`dir(state)` should show what attributes do we have.
```python state = State() a1(state) a2(state) # error ``` Conceptually, it's possible to do. Technically, it'll be a nightmare to support.
```python State(foo=1, bar=2, baz=3) ``` In the example above `State` will be populated with everything passed to the call. **Test:** Arguments are available in story steps.