We want to avoid situation in which users will blindly or mistakenly pass hashes or arrays as variants (`request.variant = params[:users]`). Converting this to string if it's hash/array can only cause problems. We need to have type check here and can't rely on user and do typecast on our side.

I don't know if we should whitelist variants though. First thought is no, but I can imagine that we can come up with list of ~5 (?) commonly used variants, which will be used in 90% cases (I can guess that mobile, tablet will land on that list for sure). Don't have opinion here right now.