Thanks guys. I'm too used to thinking of declaring variables and
strong types. If I had an input that was constrained to have a head of
Integer (e.g. x_Integer), then Set[y, N[x]] would create a variable y
with a head of Real.
e.g.
f[x_Integer] := Module[{y = N[x]}, Print[Head[x]];Head[y]]
f[2]
I don't yet see the forest for the trees.
Matt