The function tries to convert `str`` into `dict` without validate
if it is suitable for the type annotation.
This will cause unintended type converting.
Refs: #251
Attempting to subclass and monkeypatch was becoming too difficult; inflexibility between low-level types and the requirements of new high-level APIs requires the potential for breaking changes, even if they don't face users.