that means functions are generally not considered constant expressions? why not? i would have thought that it would be the other way around, functions are always constant. how could they be changed at runtime to point to another function?
Same way as your code; functions declared as variables can be changed by simple assignment:
mywrite = write; mywrite = somethingelse;