This is what we used to do in PyOP2, but maybe not.