Change handshake signature to take Traversable

Clearly I was traversing more than once, so TraversableOnce was inappropriate.