The capabilities of frac, binom, and their variants are subsumed by a generalized fraction command genfrac with six arguments. The last two correspond to frac's numerator and denominator; the first two are optional delimiters (as seen in binom); the third is a line thickness override (binom uses this to set the fraction line thickness to 0---i.e., invisible); and the fourth argument is a mathstyle override: integer values 0--3 select respectively displaystyle, textstyle, scriptstyle, and scriptscriptstyle. If the third argument is left empty, the line thickness defaults to `normal'.
-delim -delim
To illustrate, here is how frac, tfrac, and binom might be defined.
\newcommand{\frac}[2]{\genfrac{}{}{}{}{#1}{#2}}
\newcommand{\tfrac}[2]{\genfrac{}{}{}{1}{#1}{#2}}
\newcommand{\binom}[2]{\genfrac{(}{)}{0pt}{}{#1}{#2}}
If you find yourself repeatedly using genfrac throughout a document
for a particular notation, you will do yourself a favor (and your
publisher) if you define a meaningfully-named abbreviation for that
notation, along the lines of frac and binom.