This is just the message passing portion. There's no reason that client implementation can't wrap this message into a list() client function.