title: How to have default and optional arguments?
body: <p>I have this function</p>
  
  <pre><code>    def start(data, opts \\ [pages: 17, depth: 3]) do
          maxPages = opts[:pages]
          maxDepth = opts[:depth]
          IO.puts maxPages
          IO.puts maxDepth
      end
  </code></pre>
  
  <p>When I do <code>Program.start("data", pages: 8)</code> then I want it to print <code>8</code> and <code>3</code> but it only prints <code>8</code></p>