@Test
public void shouldDisallowBothInitAndStartEffects() throws Exception {

  final Set<Boolean> startEffects = effects(true);
  Init<String, Boolean> init = model -> First.first(model, startEffects);
  MobiusLoop.Factory<String, Integer, Boolean> factory = Mobius.loop(UPDATE, HANDLER).init(init);
  assertThatThrownBy(
          () -> {
            factory.startFrom(MY_MODEL, startEffects);
          })
      .hasMessageContaining("has init defined");
}