FWIW, there is a use case for cherry-picking commits with more than one parent.  Its called reverting (or replaying) a merge.  In those cases the caller needs to tell us what parent to compare against as an input argument.

I don't know how you will implement revert, but keep in mind we will want to come back here and optionally support a different parent when there are more than 1 parents involved.