title: Difference between {'some_string'} and set('some_string) as key word arguments in Python 3.7+
body: <p>I am giving feedback to a group of students on an assignment, many of whom are attempting to pass a set as a keyword argument in a function by passing a string in curly braces. 
  When I print <code>(type({'some_string'}))</code> I get class = set. But when I pass the same argument as <code>set('some_string')</code> I get different output. </p>
  
  <p>e.g.  </p>
  
  <pre><code>some_random_function (kwarg = {'some_string'})
  </code></pre>
  
  <p>is different to </p>
  
  <pre><code>some_random_funtion(kwarg = set('some_string'))
  </code></pre>
  
  <p>can anyone help me understand why?</p>