Use a distinct type
type MyReadOnlyPtr[T] = distinct ptr T
proc `==`(a: var MyReadOnlyPtr, b: MyReadOnlyPtr){.error: "Copying is
verboten".}
RunFor deep immutability, you can get some inspiration from what I describe here in the deep immutability section: [https://github.com/mratsim/Arraymancer/pull/420](https://github.com/mratsim/Arraymancer/pull/420)
