(which is what I expect them to do, finger-memorily)
(defun asf--set-magit-action (popup action-name new-key)
(let* ((actions (plist-get popup :actions))
(action-defn (-find (lambda (elt) (eq (caddr elt) action-name)) actions))
(existing-action (assoc new-key actions)))
;; (assert (null existing-action) "Not a great idea to set this to an existing key")
;; (assert (not (null action-defn)) "Couldn't find action %s in %s" action-name actions)
(rplaca action-defn new-key)))
(asf--set-magit-action magit-branch-popup 'magit-branch ?P)
(asf--set-magit-action magit-branch-popup 'magit-branch-and-checkout ?c)
(asf--set-magit-action magit-push-popup 'magit-push-current ?p)
(asf--set-magit-action magit-push-popup 'magit-push-quickly ?P)