Review and changes from Jocelyn Fiat

see https://docs.eiffel.com/book/method/et-once-routines-and-shared-objects