What you say makes sense, especially if used in interactive mode, but I'm not sure if we want this to be the only SDK that is doing this validation before calling the server. It also seems very unlikely to me that, in exploration mode, the user explicitly sets one of the restricted fields.

Anyhow, I'd like @lhazlewood to jump on this one so we get his opinion on the matter and move forward with this implementation.