See Problem 7.1
exr:ge-implementation
