In old versions, :it's description is used as a part of an example function name. But this implementation has a drawback. If a user accidentally write the same description for multiple :it blocks, all but the last :it blocks will never be executed. Only the last :it block will be executed many times. It is a surprising result. This problem is fixed by using indices rather than descriptions to define example functions. This commit also fixes gh-20. Combining characters might not be properly encoded as a function name, and the reproducibility of this problem depends on the current 'encoding'.