For what is worth, I think none of the io implementations in otp use a gen server (not the file ones and not the one in eunit)