Also, typesets as a dash, which is probably good.
\atdef !{\m@maybe|\@scripts}
\def\returns{\m@maybe\longrightarrow\m@maybe@end\hspace{0.5em}\ignorespaces}
\atdef >{\leavevmode\unskip\hspace{0.5em}\returns}
-\atdef -#1{\if>#1\hbox{--\raisebox{.4pt}{>}}\penalty200\relax\fi}
+\atdef -{\leavevmode\hbox\bgroup\futurelet\ch@\@dash}
+\def\@dash{%
+ \ifx\ch@>%
+ --\raisebox{.4pt}{>}%
+ \def\next@{\@firstoftwo{\egroup\penalty200\relax}}%
+ \else%
+ --%
+ \let\next@\egroup%
+ \fi\fi
+ \next@%
+}
%% Comment setting.
\def\comment#1{\mbox{\normalfont\itshape\/#1\/}}