   edges       = [ 'top', 'left', 'bottom', 'right', ] if '*' in edges
   fieldnames  = []
   #.........................................................................................................
-  for [ fail, field_designation, ] from @_walk_fails_and_field_designations_from_hints me, fieldhints
+  for [ fail, field_designation, ] from @_walk_fails_and_field_designations_from_selector me, fieldhints
     ### TAINT ad-hoc fail message production, use method ###
     if fail? then _record me, "#{fail} (#{jr {field_designation}})"
     else          fieldnames.push field_designation

  unless value in [ 'top', 'bottom', 'center', 'spread', ]
    throw new Error "(MKTS/TABLE µ1876) expected one of 'top', 'bottom', 'center', 'spread' for mkts-table/fieldalignvertical, got #{rpr value}"
  #.........................................................................................................
  for [ fail, field_designation, ] from @_walk_fails_and_field_designations_from_hints me, fieldhints
    ### TAINT ad-hoc fail message production, use method ###
    if fail? then _record me, "#{fail} (#{jr {field_designation}})"
    else          me.valigns[ field_designation ] = value

#===========================================================================================================
# ITERATORS
#-----------------------------------------------------------------------------------------------------------
@_walk_fails_and_field_designations_from_selector = ( me, selector ) ->
  ### TAINT this will have to be changed to allow for named fields ###
  count                   = 0
  seen_field_designations = new Set()
  #.........................................................................................................
  for cell from IG.GRID.walk_cells_from_selector me.grid, selector
    continue unless ( field_designations = me.cellfields[ cell.cellkey ] )?
    for field_designation in field_designations
      continue if seen_field_designations.has field_designation
