<img width="372" alt="Screenshot 2019-03-20 at 9 41 54" src="https://user-images.githubusercontent.com/662249/54651066-84ae4580-4af4-11e9-9583-dd54d44d9f0f.png"> Why this happens: to input `ひらがな` the user type `h`, `i`, `r`, `a`, `g`, `a`, `n`, `a` (just the letters) and IME combines `h`, `i` to `ひ`, etc. The uppercase logic gets to replace `h` with `H` before `i` is typed and IME "breaks".