My understanding is that coarrays are a modern replacement for MPI and that coarrays abstract the notion of "machines", they bundle that under "multiple CPUs". I'm not very fluent in either of those, only know as much as the "Modern Fortran" book explains but from the examples I have seen, coarrays can do anything MPI can and they're simpler to work with.
> So, having one trick is not a bad thing here.
Definitely not. Personally, I would imagine myself using it if integration with other technologies over the network was available out of the box.