Spike-pushing pipe (probably should be using pipes-concurrent)