Tuple
Tuples have accessors that are named by their position and is 1-based rather than 0-based.
val hostPort = ("localhost", "80")
val host = hostPort._1
val port = hostPort._2
Tuples fit with pattern matching nicely.
hostPort match{
case ("localhost","80") => ...
case ("localhost","8080") => ...
case _ => "Host and Port not found"
}