The document proposes a functional API called Orleankka for the Orleans distributed computing framework. It addresses the issue of non-uniform interfaces in Orleans by introducing a uniform API based on message passing. The API allows defining serializable message classes and a grain interface with a generic Receive method, while message handling logic lives in the grain class through type-specific Handle methods. This provides a uniform way to select, dispatch and invoke grains using messages.