This is a follow-up to D151785, addressing https://github.com/clangd/clangd/issues/1703.
The previous approach of peeling pointer types during a traversal
using getPointeeType might have produced unexpected results; since
the method would implicitly desugar the type if the type being passed
in could not be cast to a Pointer-like Type.
nit: since it's only doing one level of peeling, let's call it PeelWrapper (no s)