Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
I will remove this part of the kata
I agree.
Also if one really want to check the arguments' validity, it's definitely better practice to raise an Error / throw an Exception instead.
The requirement to check for other types really goes against the nature of dynamic typing and unnecessarily adds orthogonal complexity to the problem.
I think it's perfectly fine, this is exactly why bool is a subclass of int. If the upcasting upsets you so much then you can just do
sum(1 for ch1, ch2 in zip(a, b) if ch1 != ch2)
.