Added Elet constructor and cleaned up sharing recovery

- The simplifier has been turned off as it currently raises an exception when applied to open expressions. This will be resolved when vectorisation is implemented
- Fusion also does not properly support the 'Elet' construction. This could be fixed but as fusion would naturally occur after vectorisation, there is little point in doing so.