hide E4X implementation in a toplevel closure