This is introduced mainly for [sudoku-editor](https://github.com/semiexp/sudoku-editor), but it will be still effective for other puzzle types