$ javac src/Failures.java && java Failures     (28-beta+21-ea)
-- Subtask.get() before join()
  java.lang.IllegalStateException: null
-- leaving the try block without join()
  java.lang.IllegalStateException: Owner did not join after forking
-- fork() from a thread that does not own the scope
  returned java.lang.WrongThreadException: Current thread not owner
-- closing scopes out of order (not try-with-resources)
  java.util.concurrent.StructureViolationException: null
-- join() twice
  java.lang.IllegalStateException: Already joined or scope is closed
-- the failure surfaces as ExecutionException; pattern-match the cause
  I/O failed: disk gone
-- two subtasks fail: which cause do you get?
  cause = first   (the first to fail wins)
