Fixed the births_before_deaths issue: it was an internal parameter in demography.do_pop_dynamics, which was previously set to False, counterintutively; it made it so that gnx calculated the death-probability rasters before adding offspring to the landscape, then calculated all individuals', including offspring's, death probability from that raster; this somehow made sense to me at the time, but wound up appearing to be something that I was just overthinking, with the unfortunate result being that it allowed actual population size to exceed the target population size (i.e., the sum of the carrying capacity raster) when the n_births_distr_lambda parameter was large enough (e.g., ~>= 4). I had never noticed this before because I tend to use low values of n_births_distr_lambda anyhow. I now removed the births_before_deaths internal param completely and just fixed things so that births always happen before the calculation of the death-probability raster. I thought about adding this as a new user-facing parameter, but in the end could see no good reason to set births_before_deaths=False, so wound up just removing. I am treating this as a simple bug fix because it gets rid of a bug resulting in an artefact and does not break any legacy, but it is worth noting that some legacy code could now generate lower equilibrium population sizes than previously seen! (Nonetheless, this is unlikely to have any real scientific implications because any previous work should only have presented and assessed its results in the context of the actual mean equilibrium population size observed in simulations, rather than some theoretical equilibrium size calculated from the carrying capacity raster.)