Let $\mathbf{Set}$ be a category of set, and $\mathcal{P}:\mathbf{Set} \to \mathbf{Set}$ be a power set functor defined as $$ \mathcal{P}(X) = 2^{X} = \{U\subseteq X\} $$ and for any function $f:X\to Y$, $$ \mathcal{P}(f): \mathcal{P}(X) \to \mathcal{P}(Y), \quad \mathcal{P}(f)(U) = f(U). $$ It is not hard to show that this really defines a functor. My question is:
Let $\mathcal{F}:\mathbf{Set}\to \mathbf{Set}$ be a functor that satisfies $\mathcal{F}(X) = \mathcal{P}(X)$ for all set $X$. Does this imply that $\mathcal{F} = \mathcal{P}$? i.e. $\mathcal{F}(f) =\mathcal{P}(f)$ for all morphisms (functions) $f$?
I believe that this is true, but I have no idea about proof. This question is motivated from the functional programming, especially about list functor (in Haskell). This is the question that I posted on Haskell reddit. My strategy is that, if one can show that the above statement is true, then we can modify the proof to give an answer to the original question about list functor. Maybe one can try to show for the category of finite sets or countable sets.