What is an example of category-theory functor in Haskell, that isn't just an endofunctor?
A functor F from C to D is a mapping that associates each object X in C to an object F(X) in D.
In Haskell, C and D are both the same (Hask types), hence endofunctor (functor into self).
In general a functor could be something like `prime_factorizaton:: Int -> [(Prime Int, Mulitplicity Int)]`, with morphisms being things like the operation
a => square :: a -> a
square (n::Integer) = n^2
square (factorization::[(Prime Int, Mulitplicity Int)]) = map (\(a,b) -> (a, 2*b)))
prime_factorizaton (square) x === square (prime_factorization(x))