Interesting, I vaguely remember that Eiffel has a 'once' keyword, but I'm not sure if it could help here.