make thread spawning use `~once fn`