functor vs lambda