Incremental build won’t work unless a task has at least one task output?

The doc says “incremental build won’t work unless a task has at least one task output”, but I have not been able to find the rationale for this. The best I have found is that it is “risky” to support incremental build when a task has only inputs.

Does anyone know why Gradle does not support incremental build when a task has only inputs?