I'm typesetting source code, and I want to replace cmtt10's \char32 with something easier on the eyes. I came up with something that I like, but I'm not pleased with the implementation. Here's how it looks... Top is standard cup space; bottom is my replacement version:

Is there a simpler or cleaner way to do what I did? (1) I'm having to include the tipa package for \textbottomtiebar. (2) It just so happens, for some reason that seems bizarre to me, that package aeguill modifies this bottom tie bar to make it wider, which happens to be just what I want. But that combination feels kludgey and fragile to me.
As to the core of the implementation, it uses \ooalign, \hss, and \hphantom to center a tiny bottom tie within the standard width of a space character:
\documentclass{article}
\usepackage{tipa} % For \textbottomtiebar
\usepackage[lm]{aeguill} % For some reason, widens the bottom tie
\newcommand{\visp}{% Acronym for "VIsible SPace"
\ooalign{%
\relax\cr%
\hss{\tiny\textbottomtiebar{\ }}\hss\cr%
\hphantom{~}\cr%
}%
}
\begin{document}
\texttt{Hello,{\char32}world!{\char32}{\char32}I{\char32}am{\char32}a{\char32}string.} ~~~ $\backslash$char32
\vskip 1em
\texttt{Hello,{\visp}world!{\visp}{\visp}I{\visp}am{\visp}a{\visp}string.} ~~~ $\backslash$visp
\end{document}
For me, this is a big improvement over \char32, and I'd be perfectly happy replacing \char32 with this, but I doubt it's possible due to the way TeX's innards work. So I gave it the name \visp in my style preamble.

