trait Util {
  def method1() = println("method1")
  def method2() : Unit  
}

class ScalaClass {
  def people(names : Seq[String]) = {
    println("Received " + names.size + " names")
  }
  
  def receiveBlock[T](block : => T) = {
    println("Calling block")
    block
  }

  def greet() = println("In ScalaClass class");
  
  def receiveUtil(util : Util) = {
    util.method1();
    util.method2();
  }
}

object ScalaClass {
  def greet() = println("In ScalaClass companion");
}

object ASingleton {
  def greet(msg : String) = println(msg)
}
