factor out population type
factor out solutions type
made await stateless
annotate public methods
migrated synchronous evolve population stub