abstract class NullaryTest[T, m[s]] {
  def nullary: String = "a"
  val x = nullary

  def nullary2: T 
  val x2 = nullary2

  def nullary3: m[T]
  val x3 = nullary3
}

class Concrete extends NullaryTest[Int, List] {
        def nullary2 = 1
        def nullary3 = List(1,2,3)
}

object test {
        (new Concrete).nullary2
        (new Concrete).nullary3        
}
