Какие ошибки вы можете совершить из популярных:
1) начать писать логику непосредственно в mapEventToState, он у вас быстренько превратится в нечитаемую портянку и придете жаловаться на бойлерплейт.
Если правильно готовить блок, то бойлерплейтом там и не пахнет.
Все запредельно воздушно, даже не надо создавать отдельные файлы под эвенты и стейты.
Все ультра емко получается.
2) мутабельные стейты - нет и еще раз нет, все они должны быть помечены
@immutable3) создавать репозиторий прям сразу в блоке, а еще хуже доставлять его внутрь через гет_ит или синглтон, репозиторий может оказаться в блоке только через конструктор, все.
4) огромная ошибка - попробывать создать "свой блок, ведь блок, это паттерн, а не пакет". И еще хуже, если у вашего блока будут публичные методы. У блока должен быть только .add() метод и .listen() метод, больше ничего.
5) довольно минорная ошибка, это если у вашего блока будут публичные переменные и геттеры
6) эвенты или стейты у вас обладают методами.