It seems like there has to be a better way of doing this.  Like perhaps testing `if isinstance(first_val, collections.Iterable)`