I've found a paper by Ralf Hinze which I think is relevant:
https://www.cs.ox.ac.uk/ralf.hinze/Lifting.pdf.
However, I'd benefit from being able to talk to someone who understands
the notation starting section 3 and onwards, as I am very much a
Haskell newbie (everything I have learned, has been in the last 4 days,
as I try to decipher this paper).