暗黙のうちにグローバル変数として I が定義されていたので、関数内でもそれを使ってしまっていたというもの。 分かってしまえば単純な罠だった。