You should note that the user need not annotate the pointer arguments.  PyOP2 does so by inspecting the access descriptors on the parallel loop.