functor (A : T-> T