select best candidate upon instantiation
fix: only work on snapshots of child argument vectors. mutation of iterated vectors yields sigsegvs _sometimes_
several corrections