 Label::toString = ->
    output = '“'+@alien+'”' + (if @name? then ': '+T.bold @name else '')
    if @_?.tag == no then output else '['+(@constructor.__name__ or @constructor.name)+' '+output+']'
+
+Execution::toString = ->
+   output = Thing.inspectID(this) +
+      (if @name? then ': '+T.bold @name else '') +
+      (if @resumptions? then new Array(@resumptions - @bits.length).join('()') else '')
+   if @_?.tag == no then output else '['+(@constructor.__name__ or @constructor.name)+' '+output+']'

   @synchronous: (func) ->
      body = ->
         arity = func.length
         
         # First, we construct the *middle* bits of the coproductive pattern (that is, the ones that
         # handle all but the *last* actual argument the passed function requires.) These are pretty

   # `Alien` object referred to during the invocation of subsequent bits may *not* be the same, as
   # the `Alien` may have been branched!)
   constructor: constructify(return:@) (@bits...)->
      @resumptions = @bits.length
   
   complete: -> !this.bits.length
   
