ЗП
elementAt :: forall a. MyInt -> List a -> Maybe a
elementAt = zipCata alg where
alg :: (MyInt -> List a -> Maybe a) -> NatF MyInt -> ListF a (List a) -> Maybe a
alg _ ZeroF (ConsF a t) = Just a
alg f (SuccF n) (ConsF a t) = f n t
alg _ _ _ = Nothing
