docs: def find_column(selectable, name):
      """
      Find a column named `name` in selectable
  
      :param selectable:
      :param name:
      :return: A column object
      """
      from recipe import Recipe
  
      if isinstance(selectable, Recipe):
          selectable = selectable.subquery()
  
      # Selectable is a table
      if isinstance(selectable, DeclarativeMeta):
          col = getattr(selectable, name, None)
          if col is not None:
              return col
  
          col = _find_in_columncollection(selectable.__table__.columns, name)
          if col is not None:
              return col
  
      # Selectable is a sqlalchemy subquery
      elif hasattr(selectable, 'c'
                  ) and isinstance(selectable.c, ImmutableColumnCollection):
          col = getattr(selectable.c, name, None)
          if col is not None:
              return col
  
          col = _find_in_columncollection(selectable.c, name)
          if col is not None:
              return col
  
      raise BadIngredient('Can not find {} in {}'.format(name, selectable))