According to DRY I want to define the type once and use it both in the function spec (`-spec`) as well as type definition (`-type`). For that I use a macro. Then, the only two possible ways of using that macro are:
```erlang
-spec start_stream?CONNECTION_STEP.
```
or
```erlang
-spec start_stream/3 :: ?CONNECTION_STEP.
```
Of which I guess the latter is better.