@Override
	public <E, T> T compute(Event<E, T> event) throws Throwable {
    """
	as long as there is a clear contract: namely that failure is always indicated by a EventEception
    """
		return unwrapGet(event, submit(event, () -> doProcess(event)));
	}
@Override
	public <E, T> T compute(Event<E, T> event) throws Throwable {
		return unwrapGet(event, submit(event, () -> doProcess(event)));
	}
@ Override public < E , T > T compute ( Event < E , T > event ) throws Throwable { return unwrapGet ( event , submit ( event , ( ) -> doProcess ( event ) ) ) ; }
as long as there is a clear contract: namely that failure is always indicated by a EventEception
as long as there is a clear contract : namely that failure is always indicated by a EventEception