The blank view is one projection
The canonical program lives in constraints, not in a text file. Blank, graph, debug and generated-C views are projections of the same program, and changing only the blank surface changes neither the program graph nor its hash.