In order to to independently control the color of the overlap between two circles using \clip, it seems I must use the \draw command, as illustrated at http://www.texample.net/tikz/examples/venn-diagram/ (and below). However, the circle is then not a node, meaning that I can't draw an arrow from its edge. Is there a way to do this? My current code produces an undesired arrow from the center:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\def\A{(0,0) circle (2cm)}
\def\B{(3,0) circle (2cm)}
\begin{tikzpicture}
\draw \A node[](A){};
\draw \B node[](B){};
\begin{scope}
\clip \A;
\fill[green, opacity=0.2] \B;
\end{scope}
\node(nom)at(0,-3) {[A]};
\node(gen)at(3,-3) {[B]};
\draw[->] (A) -- (nom);
\draw[->] (B) -- (gen);
\end{tikzpicture}
\end{document}


