title: Usages of Null / Nothing / Unit in Scala
body: <p>I've just read: <a href="http://oldfashionedsoftware.com/2008/08/20/a-post-about-nothing/" rel="noreferrer">http://oldfashionedsoftware.com/2008/08/20/a-post-about-nothing/</a></p>
  
  <p>As far as I understand, <code>Null</code> is a trait and its only instance is <code>null</code>.</p>
  
  <p>When a method takes a Null argument, then we can only pass it a <code>Null</code> reference or <code>null</code> directly, but not any other reference, even if it is null (<code>nullString: String = null</code> for example).</p>
  
  <p>I just wonder in which cases using this <code>Null</code> trait could be useful.
  There is also the Nothing trait for which I don't really see any more examples.</p>
  
  <hr>
  
  <p>I don't really understand either what is the difference between using Nothing and Unit as a return type, since both doesn't return any result, how to know which one to use when I have a method that performs logging for example?</p>
  
  <hr>
  
  <p>Do you have usages of Unit / Null / Nothing as something else than a return type?</p>