Qual é a sintaxe aceita / recomendada para o código Scala com muito encadeamento de métodos?

Em Scala, sou favorável a escrever grandes expressões encadeadas em vez de muitas expressões menores comval atribuições. Na minha empresa, desenvolvemos um estilo para esse tipo de código. Aqui está um exemplo totalmente planejado (a idéia é mostrar uma expressão com muitas chamadas em cadeia):

import scala.util.Random
val table = (1 to 10) map { (Random.nextInt(100), _) } toMap

def foo: List[Int] =
  (1 to 100)
    .view
    .map { _ + 3 }
    .filter { _ > 10 }
    .flatMap { table.get }
    .take(3)
    .toList

Daniel Spiewak's Guia de Estilo Scala (pdf), que geralmente gosto, sugere que a notação de ponto inicial nas chamadas de método em cadeia pode ser ruim (consulte o documento: Invocação de método / Funções de ordem superior), embora não cubra diretamente expressões com várias linhas como esta.

Existe outra maneira mais aceita / idiomática de escrever a funçãofoo acima

UPDATE: 28 / jun / 2011

Muitas ótimas respostas e discussão abaixo. Não parece haver uma resposta de 100% "você deve fazer desta maneira", então vou aceitar a resposta mais popular por votos, que atualmente é a abordagem de compreensão. Pessoalmente, acho que vou ficar com a notação de ponto principal por enquanto e aceitar os riscos que a acompanham.

questionAnswers(6)

yourAnswerToTheQuestion