Correctly ignore invalid / incomplete snapshots.

> To clarify, the main issue is that despite this huge semantic difference they have an identical type. Both find and traverse cases validly are List[Option[A]] => Option[A].

Yeah I guess that's what I meant. Just have to be a little careful in cases like these.