I should have explained better: in `op2._init` we set the communicator to `kwargs.get('comm')`, so by when `comm` is not given we'll assign `None`, though we mean "use the default". Maybe it would be better to validate it's a `MPI.Comm`?