began threading gp parameters like population size throughout using ReaderT