Avoiding horrendous implicit int -> MPI_Comm conversions in the constructor to Grid which was causing code like DistMatrix<R> w(n); to implicitly cast the integer n to Grid(mpi::Comm(n)), which would invariably segfault. Thanks to Mark Hoemmen for the suggestion.