This attempts to fulfil the promise.
This attempts to fulfil the promise. If it has already been fulfilled, this will throw an error if the value is different from the previous value that was used.
This lifts a value into a Tunnel.
This lifts a value into a Tunnel. This is where the Monoidic computation underlying a TunnelMonoid actually happens.