Como definir uma função que usa uma função literal (com um parâmetro implícito) como argument

Eu quero poder fazer algo nessas linhas (não será compilado):

def logScope(logger:Logger)(operation: (implicit l:Logger) => Unit) {/* code */ operation(logger) /* code */} 
def operationOne(implicit logger:Logger) {/**/}
def operationTwo(implicit logger:Logger) {/**/}

E use-o da seguinte forma:

logScope(new ConsoleLogger){logger =>
    operationOne
    operationTwo
    }

Mas o mais próximo que eu cheguei a uma solução de trabalho é este:

def logScope(logger:Logger)(operation: Logger => Unit) {/* code */ operation(logger) /* code */} 
def operationOne(implicit logger:Logger) {/**/}
def operationTwo(implicit logger:Logger) {/**/}

/* other code */

logScope(new ConsoleLogger){logger =>
    implicit val l = logger
    operationOne
    operationTwo
    }

Acho que o idioma atualmente não permite essas construções, mas ainda assim algumas sugestões ou soluções alternativas para alcançar resultados semelhantes?

atualização menor: eu tenhocriou uma essência com uma versão ligeiramente expandida do código acima, com algumas tentativas de simular esse tipo de literal. A partir de agora, a versão do CheatEx é a melho

questionAnswers(2)

yourAnswerToTheQuestion