dialyzer (as of latest erlang/otp dev branch R14B03) is reporting several warnings for gen_leader. I haven't yet tried using gen_leader yet.
thanks,
Joe N.
[norton@norton-pc gproc (dev)]$ dialyzer -Wunmatchedreturns --plt ~/.dialyzer_plt.R14B03 deps/gen_leader/ebin
Checking whether the PLT /home/norton/.dialyzer_plt.R14B03 is up-to-date... yes
Proceeding with analysis...
gen_leader.erl:469: Expression produces a value of type 'nop' | {[any()],[atom()]}, but this value is unmatched
gen_leader.erl:577: Expression produces a value of type {'error',} | {'ok','cancel'}, but this value is unmatched
genleader.erl:640: Expression produces a value of type {'error',} | {'ok','cancel'}, but this value is unmatched
genleader.erl:648: Expression produces a value of type [{'heartbeat',atom()}], but this value is unmatched
gen_leader.erl:849: Expression produces a value of type {'error',} | {'ok','cancel'}, but this value is unmatched
genleader.erl:913: The call sys:handle_debug(Debug::any(),{'gen_leader', 'print_event'},atom(),{'in',}) breaks the contract (Debug,FormFunc,Extra,Event) -> [dbgopt()] when is_subtype(Debug,[dbg_opt()]), is_subtype(FormFunc,dbg_fun()), is_subtype(Extra,term()), is_subtype(Event,system_event())
gen_leader.erl:929: Function system_terminate/4 has no local return
gen_leader.erl:1100: The call sys:handle_debug(Debug::any(),{'gen_leader', 'print_event'},atom(),Event::{'$leader_cast',} | {'noreply',} | {'ok',} | {'out',,,}) breaks the contract (Debug,FormFunc,Extra,Event) -> [dbg_opt()] when is_subtype(Debug,[dbg_opt()]), is_subtype(FormFunc,dbg_fun()), is_subtype(Extra,term()), is_subtype(Event,system_event())
gen_leader.erl:1112: Expression produces a value of type {'error',} | {'ok','cancel'}, but this value is unmatched
genleader.erl:1279: Expression produces a value of type {'error',} | {'ok',timer:tref()}, but this value is unmatched
genleader.erl:1448: Expression produces a value of type {'mon_reply',{,}}, but this value is unmatched
gen_leader.erl:1452: Expression produces a value of type {'mon_reply',{,_}}, but this value is unmatched