Fixed the 'Alternative' instance for 'Input'

The previous instance did the wrong thing: if one 'Input' terminated the whole
'Alternative' terminated.  The current instance ensures that both have to
terminate before the combined 'Input' terminates.

Thanks to @boothead for catching this bug.