 ;;;###autoload
 (defun +org/toggle-checkbox ()
   (interactive)
-  (when-let (context (+org--get-context '(item)))
+  (when-let (context (org-element-lineage (org-element-context) '(item) t))
     (org-end-of-line)
     (org-beginning-of-line)
     (if (org-element-property :checkbox context)

          (org-table-recalculate t)
        (org-table-align)))

     ((and (org-in-item-p)
           (org-element-property :checkbox
                                 (save-excursion
                                   (org-beginning-of-line)
                                   (backward-char)
                                   (org-element-context))))
      (org-toggle-checkbox))

     ((and (eq type 'headline)

opinionated and perform this simple task incorrectly (e.g. whitespace in the
wrong places)."
  (interactive)
  (let* ((context (org-element-lineage
                   (org-element-context)
                   '(table table-row headline inlinetask item plain-list)
                   t))
         (type (org-element-type context)))
    (cond ((eq type 'item)
           (let ((marker (org-element-property :bullet context)))
             (pcase direction
               ('below
