1
2
3
4
5
6
7
8
9
10
11
use crate::prelude::Functor;

impl<'a, A> Functor<'a, A> for Vec<A> {
    fn fmap<F, B>(self, f: F) -> Self::Type<B>
    where
        F: Fn(A) -> B + 'a,
        B: 'a,
    {
        self.into_iter().map(f).collect::<Self::Type<B>>()
    }
}