Idea: Result[T] in python3 to assist transpiler
There are two options to transpile python3 code that uses exceptions to languages that don't support exceptions.

1) Analyze the source python to check if the function calls another function that might throw well known exceptions (example performs IO). Automatically transform the return type from `T` to `Result[T]`

2) Have an escape hatch where the transpiler can't figure it out on its own and let the author of source python assist by manually transforming to `Result[T]`

Doing it completely automatically (option 1 above) seems like a hard problem. So we need to ensure that the escape hatch is robust. That leaves the question of, what should such a `Result[T]` look like? Here's a candidate:

```
from typing import Optional, Generic, TypeVar
from dataclasses import dataclass

T = TypeVar("T")


@dataclass
class Result(Generic[T]):
    data: T
    error: Optional[Exception]
```