Sat Oct 12 08:19:42 EDT 2019

The boundary between messages and subroutines

Is quite a strong one.  I've not seen any programming interfaces that
can abstract this.

It seems a lot of time is wasted creating message based APIs.

These two worlds really don't mix.  And it is hard to build intuition
about how to split functionality between the two sides.

The function/subroutine world should always have preference because it
is much easier to isolate, but due to real world constraints, some
functionality needs to be implemented as communicating processes.