code: def begin_connect(self, shape, cxn_pt_idx):
          
          self._connect_begin_to(shape, cxn_pt_idx)
          self._move_begin_to_cxn(shape, cxn_pt_idx)
docs: **EXPERIMENTAL** - *The current implementation only works properly
          with rectangular shapes, such as pictures and rectangles. Use with
          other shape types may cause unexpected visual alignment of the
          connected end-point and could lead to a load error if cxn_pt_idx
          exceeds the connection point count available on the connected shape.
          That said, a quick test should reveal what to expect when using this
          method with other shape types.*
  
          Connect the beginning of this connector to *shape* at the connection
          point specified by *cxn_pt_idx*. Each shape has zero or more
          connection points and they are identified by index, starting with 0.
          Generally, the first connection point of a shape is at the top center
          of its bounding box and numbering proceeds counter-clockwise from
          there. However this is only a convention and may vary, especially
          with non built-in shapes.