def starlike(x):
  "weird things happen to cardinality when working with * in comma-lists. this detects when to do that."
  # todo: is '* as name' a thing?
  return isinstance(x,sqparse2.AsterX) or isinstance(x,sqparse2.AttrX) and isinstance(x.attr,sqparse2.AsterX)