title: Defining type and value aliases at the same time in scala
body: <p>Here is an example from Scala Cookbook:</p>
  
  <pre><code>package com.alvinalexander.myapp
  
  package object model {
  
      // field
      val MAGIC_NUM = 42
  
      // method
      def echo(a: Any) { println(a) }
  
      // enumeration
      object Margin extends Enumeration {
          type Margin = Value
          val TOP, BOTTOM, LEFT, RIGHT = Value
      }
  
      // type definition
      type MutableMap[K, V] = scala.collection.mutable.Map[K, V]
      val MutableMap = scala.collection.mutable.Map
  
  }
  </code></pre>
  
  <p>Aren't these two lines doing the same thing?</p>
  
  <pre><code>    type MutableMap[K, V] = scala.collection.mutable.Map[K, V]
      val MutableMap = scala.collection.mutable.Map
  </code></pre>
  
  <p>Or, can't I just </p>
  
  <pre><code>import scala.collection.mutable.{Map =&gt; MutableMap}
  </code></pre>
  
  <p>?</p>