If no symbols were passed, then symbols is a list. Perhaps that part above should convert them to a list.

Also, this code is in the else-block. Should the if-else be converted to if-if so that this else-part gets a chance to run if changes were made in the first if-test?