I don’t see why the assume and observe functions should not be sufficient. You should be able to do exactly what you try to do with it. If I understand correctly you need to implement the mapping function and draw from a hyper cube. Then set the parameter values using a VarInfo type and simply set the value inside the assume functions with log(1) as the log prior probability. The observe is as in IS. Similar to what happens for HMC related methods.
But I’ll have to look into the paper to understand the details.
Building a PPL around assume and observe functions is nothing new. This has been successfully done in other frameworks that support various inference algorithms. However, I agree that the API is not particularly intuitive which is why we work on improving it.