mutable objects in a function definition are a python "gotcha" because if anyone modifies the default value, the next run of this function will get the modifications. This is because default arguments are evaluated only once, when the function definition itself is being parsed during import. It's good practice to do ```tags=None``` and then in the body something like ```tags = tags or []```