functor.ext source