Firstly a big thanks to @djinnius on twitter for actually coming up with the terminology.
Pointers in programming are a useful construct, the ability to refer to an arbitrary piece of memory is powerful. However in learning how to program they are often misunderstood or abused.
To explain to the non-technically minded, a pointer is a name that refers to a piece of memory, that is a part of what the computer has 'in its brain'. We can talk about this as if it's just a noun assigned to an abstract concept, what it refers to is unknown (though some hints may be given) but the computer can 'follow' it to find the actual data.
This analogy expands onto language, a simple example is that of the idiom, something along the lines of 'you're skating on thin ice'; when you say this you're not being literal the subject is not actually 'skating on thin ice' but there is a deeper cultural meaning to this statement that is widely understood. However this sentiment can be expressed in a different way, for example: 'You're sailing close to the wind.'
Both of these statements I have a history with, when I was in primary school I was diagnosed with semantic-pragmatic disorder (along with Aspergers) which, to simplify meant I got in trouble a lot for taking things too literally (and people taking me to be mocking / 'acting dumb').
To quote @djinnius "There's a common thread here where concepts have a plain reading that's supposed to be a pointer to a sophisticated set of concepts" and in essence: we (even subconsciously) make a mapping from a phrase to its literal meaning even if, we know on reflection that this is not the 'actual meaning' of the phrase.
When a feminist talks about 'toxic masculinity' we can read this as what they mean, that is the complex idea of the societal systems that enable and sustain a form of masculinity not conducive to 'goodness' (in fact, the precise meaning does not matter here). But the 'pointer name' is misleading, it is all to easy to read it for what it is and assume that the feminist is outright calling men 'toxic' which is specifically meaningless. This is formulated in a way that incites the outgroup (that is non-feminists) hence so much back-and-forth over 'whether toxic masculinity exists or not'.
Further, the use of 'pointers' here can be a deflection and deliberate confusion as to what you are actually saying. You may mean the direct interpretation which may be a lot ruder that what is meant by it, to use the above example. Calling someone 'toxic' is particularly unhelpful but perhaps the ideas laying behind it are actually useful, but not what you meant here. You can get away with insulting someone through this use of language and redirect to an obscure definition when challenged. Sometimes this is powerful for the otherwise discriminated against, which, I think is why the terminology of 'toxic masculinity' has come to hold such societal weight, but it limits what we are actually trying to say.
Further this idea of a 'ideological' or 'linguistic' pointer can be expanded even more. Often pointers are use in programs to help use arrays. An 'ideological pointer' may refer to a large generalisation of collection of ideas. For example it is impossible to actually say what 'liberal' means in today's vocabulary; perhaps it wasn't always this way but the word now incites people into a good several ideas.
This is for the most part un-useful, when it comes to talking about specifics, much like in programming we don't want the 'ideological array' as a whole we just want one element! People often talk about the policies of a politician being 'liberal'; this isn't actually 'useful', it's a one way exchange you can categorise the politician but you can't find out their actual opinions on policy except for the use of a large ideological array. We have created, in essence, an ideological hashing function.
So, we as linguistic and ideological 'programmers' have created a mess for ourselves. Our code needs a rewrite, or at least a look over at what we are actually are saying. Our namespace is polluted.
A suggestion for replacement language is to be specific as possible, define a 'target' and use terms like progressive / regressive. This works only if you are rigorous in defining what exactly you are aiming for. Rather than use potentially harmful language like 'toxic masculinity' define our goals (for example a greater emotional freedom between men) and map the progressive / regressive language onto that. “That's toxic masculinity” becomes “seems like you're engaging in regressive behaviour, my dude. Want to talk about it?”.
That's not to say that we as humans need to constantly rigorously define our language as in programming, instead, understand what we mean by what we say and how it could be perceived by others in a way that is conducive to productive and clear communication rather than emotionally and politically charged speech. That is, to extend the metaphor to it's ultimate, document your code so that others can extract precise meaning. In another way perhaps, our 'pointer names' are not that useful.
I think this has the potential for a change in approach to how we tackle The Discourse if we can change out behaviours towards how we use language and critically engage with what we are actually saying rather than relying on a failed 'shared idea' of what certain phrases mean.
P.S. Thanks for bearing with the extended metaphor