Generating more flexible (and cleaner) code now: all files are represented by an internal "File" struct containing two getter methods: size() and data().