Interpret an effect using a higher-order function.
Note that due to the higher-rank type, you have to use either $ or explicit application when applying this interpreter. That is, you will need to write runInterpret f (runInterpret g myPrgram) or runInterpret f $ runInterpret g $ myProgram. If you try and write runInterpret f . runInterpret g, you will unfortunately get a rather scary type error!