Como implementar a monad de continuação indexada no estilo do índice de núcleo

Eu tenho visto (e tentando entender) mônadas indexadas recentemente. Eu acho que tenho a cabeça em torno de um estilo de mônada indexada, como descrito aqui:Um bairro do infinito: além das mônadas.

No entanto, eu encontrei um estilo diferente de monad indexado emnúcleo de índice, que tem algumas partes que parecem corresponder a essa ligação monad indexada com dois índices, por exemplo, um operador de ligação semelhante!> =. Embora tenha claramente mudanças semelhantes nos índices, não consigo entender como usar esses índices, por exemplo, para controlar os tipos de retorno em uma monad de continuação, como no outro estilo. Eu estaria interessado neste estilo de mônada indexada, principalmente porque ele parece funcionar muito melhor para transformadores monad - na verdade eu não vi um transformador monad indexado (de mônadas indexadas) definido no outro estilo, apenas um transformador indexado de monads regulares.

Eu estou querendo saber se alguém poderia por favor fornecer um exemplo da mônada de continuação de tipo de resultado de dois implementado como este estilo de monad de continuação ou me apontar para outros exemplos do uso deste módulo para definir outras mônadas indexadas que fazem uso de dois índices por exemplo, a forma da mônada do estado onde o tipo do estado pode mudar). Eu tenho procurado por tal exemplo, sem muita sorte, e não consegui implementá-lo com sucesso. Eu tenho a sensação de que deveria ser óbvio, mas eu estou um pouco amarrado nos diferentes construtores.

questionAnswers(1)

yourAnswerToTheQuestion