I can:
scala> def foo( f: => String) = println(f)
foo: (f: => String)Unit
and I can:
scala> def foo( f: String*) = f.map(println)
foo: (f: String*)Seq[Unit]
but I can't:
scala> def foo( f: =>String* ) = f.map(println)
<console>:1: error: ')' expected but identifier found.
def foo( f: =>String* ) = f.map(println)
^
nor
scala> def foo( f: (=>String)* ) = f.map(println)
<console>:1: error: no by-name parameter type allowed here
def foo( f: (=>String)* ) = f.map(println)
^
Is there some other way to do what I want? Why isn't this allowed?