fix collect() for move-only types