title: I need a function that takes a list as input, but returns none and changes the input in the following ways:
body: <ul>
  <li>Strings have all their letters converted to upper-case</li>
  <li>Integers and floats have their value increased by 1</li>
  <li>booleans are negated (False becomes True, True becomes False)</li>
  <li>Lists are replaced with the word ”List”</li>
  </ul>
  
  <p>The problem I'm encountering is that we're changing the list itself instead if making a copy to return.<br>
  Here is what I have done so far:</p>
  
  <pre><code>def mutate_me(my_list):
  '''(list)-&gt; NoneType
  returns my_list mutated the same way
  as the function copy_me
  
  &gt;&gt;&gt;test_list = [1, 2.5, "1abc", [1, 2, 3], False]
  &gt;&gt;&gt;mutate_me(test_list)
  &gt;&gt;&gt;test_list = [2, 3.5, "1ABC", "List", True]
  
  &gt;&gt;&gt;test_list = [2, False, ["list"], "Hello", 1.0]
  &gt;&gt;&gt;mutate_me(test_list)
  &gt;&gt;&gt;test_list = [3, True, "List", "HELLO", 2.0]
  '''
  # go through every element in the list
  # check there type and based upon there
  # type apply the rule
  for element in my_list:
      if(type(element) == str):
          for i in element:
              if(i.isalpha()):
                  element = element.upper()
          my_list.append(element)
      elif(type(element) == int or type(element) == float):
          element = element + 1
      elif(type(element) == bool):
          element = not element
      elif(type(element) == list):
          element = "List"
      else:
          element
  </code></pre>