流れをぶった切って質問

\def\hoge#1{ \def\hage{#1} }

\edef\fuga{\hoge{HAGE}}

では
! Undefined control sequence.
\hoge #1->\def \hage
{#1}
l.88 \edef\fuga{\hoge{HAGE}
}
と言うエラーを吐くのですが

\def\hoge#1{ \def\hage{#1} }

\def\hage{}
\edef\fuga{\hoge{HAGE}}

ならば通る様です
これは如何いったわけなのでしょう?