имхо лучше бы нормально реализовали count для 99% применений и только в оставшемся 0.001% нужно было его реализовывать руками в цикле, чем наоборот, как сейчас
сейчас проблема только что вы проигнорировали какую-то конвенцию и решили не определять difference_type по причине отсутствия difference, видимо