# Renderable.ErrorFromObject

Traverse all keys in an object and extract the error from each value. If
the value is a function, extract the error from the return type of the function.

## Signatures

```ts
type ErrorFromObject<T> = [
    {
        [K in keyof T]-?: T[K] extends (...args: Array<any>) => any ? FunctionError<ReturnType<T[K]>> : Error<T[K]>;
    }[keyof T]
] extends [
    infer U
] ? U : never;
```

## Why

Nested object renderables contribute failures to the enclosing template
instead of hiding them behind runtime property access.

## Ownership and lifetime

This compile-time traversal has no runtime lifetime.
