блин. пришел к ужасному выводу. невозможно в одиночку написать сложную программу без багов в ней. а все потому что нельзя в одном теле сочетать сразу две вещи:
1. для написания хорошего кода руки должны быть прямыми и расти из назначеного по умолчанию природой места;
2. для тестирования кода руки должны быть максимально кудрявыми и расти, преимущественно, из жопы.