This long `if` block is corresponding to above explanation comment. Your proposal would break code-comment relation that I intend. Do you have a better idea?