The same for optics-core:
ats :: Foldable f => At s => f (Index s) -> Traversal' s (Maybe (IxValue s)) ats = foldr (adjoin . at) (castOptic (noIx ignored))