misc improvements

see commit comments for details
Agree that `dynamic` and `void` have to be disambiguated. That's why I try to always use `void` where it applies.
The above rules about `dynamic` is just a recommandation from the style guide: [AVOID annotating with `dynamic` when not required](https://www.dartlang.org/articles/style-guide/#avoid-annotating-with-dynamic-when-not-required).
Clearly `jsify` do not respect this rule and should be modify :)