I could add conversion functions if that seems useful (they are trivial
to define in terms of the folds given). In a system that really
embraces the random-access pair type as fundamental, these would just be
identities.

I think this would be good: otherwise programs would not be able to
portably exploit systems that embrace random-access lists.

In a system that uses random-access lists everywhere, you would not need
conversions. In a system that doesn't, these are easy to portably
define. So now I'm not sure what your concern is.