anchor.diff:            li
               h3 Highly composable using chaining, Promise.all, Promise.race
   
  +      section
  +        h1 Generators
  +        h3.bullet Whenever ever a function is executed in JS, the engine executes the whole function, top to bottom
  +        ul
  +          li
  +            h3 Run-to-completion
  +          li
  +            h3 Until now..
  +
         section(data-bespoke-hash="generators")
  -        h1 Generators
  -        h3.bullet Asynchronous JavaScript
  -        ul
  -          li
  -            h3 JS uses an event-loop
  -          li
  -            h3 Called code is put on the event loop and executed
  -
  -      section
  -        h2 Async JavaScript
  -        h3.bullet JS uses Promise, callbacks to handle asynchronous requests
  -        ul
  -          li
  -            h3 The async request is made and then the code finishes executing (non-blocking)
  -          li
  -            h3 Once the request comes back the handler is put on the event loop to handle the response
  -
  -      section
  -        h2 Async JavaScript
  -        h3.bullet When a function is put on the event loop it is run in its entirety
  -        ul
  -          li
  -            h3 Until now..
  -
  -      section
           h1 Generators
           h3.bullet ES2015 defines are a new type of function
           ul
  
positive.code: 
        section
          h1 Generators
  
  
        section(data-bespoke-hash="es2016")
          h1 ES2016 and beyond
  
negative.code:         h1.bullet Topics
          ul.bigger-list
            li New ES2015 Language Features
            li Coming ES2016+ Language Features
            li Focus on stuff we can use every day
            li Exciting stuff to look forward to
  
  