also `clean_list` is expensive, and presumably rarely necessary? do you really have to do it here?