[wip] Make Dialyzer happy

This can be considered a checkpoint.
After fixing exml and switching to wsecli 1.0.0 Dialyzer doesn't whine
about anything at this particular moment.

Not everything is type specced yet, but at least the list
of Dialyzer warnings is empty.

[wip note]:

Dialyzer is happy, but the code crashes.
There's a discrepnacy between the specs and the runtime behaviour,
see https://github.com/madtrick/wsecli/issues/15 for details.