Build custom random method with reject sampling

This is interesting! Adding the custom random method will allow prior predictive sampling, or posterior predictive sampling, whenever the RV is observed.

I see no reason you could not include it - the hardest part will be dealing with shapes. You will need to allow for vectorized inputs, and return similarly vectorized outputs. I would try copying a bunch of the code from the existing Von Mises distribution as a starting point, and implementing a custom generate_samples.