Option.traverse, second pass
Reimplement Option.sequence using Option.traverse