Pairs must be keysorted and may also contain variables as keys. Examples: ?- group_pairs_by_key([1-a,1-b,2-c], Ps). Ps = [1-[a,b],2-[c]]. ?- group_pairs_by_key([X-a,X-b,2-c], Ps). Ps = [X-[a,b],2-[c]].