code: def bind_top_down(lower, upper, __fval=None, **fval):
      
      if __fval is not None:
          fval.update(__fval)
      upper._overload_fields = upper._overload_fields.copy()
      upper._overload_fields[lower] = fval
docs: Bind 2 layers for building.
      When the upper layer is added as a payload of the lower layer, all the arguments  # noqa: E501
      will be applied to them.
  
      ex:
          >>> bind_top_down(Ether, SNAP, type=0x1234)
          >>> Ether()/SNAP()
          <Ether  type=0x1234 |<SNAP  |>>