For (3), yes. But for (2), code can figure out the needed values.
Interesting. Need to read more about this.