The people who claims to know about this matter says the best is to have unicode strings until this point and encode it out for the digest calculation.

I think that we should go that way, or at least have it in mind to avoid possible issues.
The `leap_assert_type` seems to be a good idea to keep away the unicode exceptions.

I'm working in this unicode vs str thing... trying to make some guidelines, please take a look at https://pad.riseup.net/p/unicode-guidelines