// (5) func foo(fn: () throws -> Void) rethrows Error // (6) func foo<E: Error>(fn: () throws E -> Void) rethrows Error