Eugene Kirpichov wrote: > Well, your program is not equivalent to the C++ version, since it > doesn't bail on incorrect input. Oops. That's because my assertion show . read = id is wrong. We only have read . show = id show . read <= id (in the "less defined than" sense) Regards, H. Apfelmus