I don't know if an option as you seek exists....
It would be nice if there was a switch to disable pointer type checking. Currently, the only solution is ubiquitous casting, which only annoys and makes the code one big mess. This is a nuisance especially when the code is low-level, where the use of various pointers is necessary, but where typed pointers allows to keep the code readable.
For example, I have a base structure and its pointer type declared. I have a second structure that embeds the first one and extends it with more fields - a typed pointer is also declared to it. Now I want to pass second struct pointer to function having parameter as base struct pointer and I can't because "type mismatch". Also, I can't assign a pointer variable of the second type to a pointer variable of the base type, because such polymorphism also results in "type mismatch".
If not, a workaround may be to create assignment operators. Not tested though.
Is it possible to create an operator in such a way that it allows pointers of any type to be assigned to each other? One operator, but universal (generic) for all typed and untyped pointers?
Strong typing is GOOD, not BAD, NOT C
Strong typing is good for those who can't think and who need to be led by the hand by the compiler. Currently, FPC is acting like an overprotective daddy saying "don't do this, don't do that or you could get hurt". And it does so despite the fact that I want to perform the most correct assignment or pass a function-pointer. I want to do what is right and what I think is right in my code, and if I can hurt myself, I want to hurt myself — I'll get a runtime error, fix the code, and fix the problem. Errors are GOOD, not being able to compile code due to implied errors is BAD.
Also, saying strong typing is good is nonsense, because all you have to do is add a cast and the compiler won't mind assigning different pointers. So why force a cast when it just lengthens the code and secore nothing? This doesn't make sense, so there should be a compiler switch so that all pointers can be treated the same.