What is done with random in this case? I'm starting to think that we should throw if we're passed a view instance with any parameters as any parameters would have some level of side effects on the instance.