Iirc it essentially comes from the fact that time evolution is linear, and a function that sends stateOfIntetest \otimes constantState to stateOfInterest \otimes stateOfInterest for all values of stateOfInterest would be quadratic?
Yes, it's a direct result from the linearity of time evolution in QM. Like you say, if state1 x raw_material -> state1 x state1 (i.e. we are able to take some raw material and clone state1) and also state2 x raw_material -> state2 x state2, then linearity forces us to also have (state1 + state2) x raw_material -> state1 x state1 + state2 x state2. This is not the same as (state1 + state2) x (state1 + state2) which is what we'd want in order to clone arbitrary states.
Iirc it essentially comes from the fact that time evolution is linear, and a function that sends stateOfIntetest \otimes constantState to stateOfInterest \otimes stateOfInterest for all values of stateOfInterest would be quadratic?