Yield directly from a method rather than generate enumerator
Yield directly from a method rather than generate enumerator

The `schema_children` method is very hot and generates lots of objects.
This change saves 2.4 seconds and eliminates 15,212,295 allocations.

Before:

```
{:REAL=>8.03928599995561}
{:ALLOCATIONS=>28939836}
```

After:

```
{:REAL=>5.601572999963537}
{:ALLOCATIONS=>13727541}
```

brandur/json_schema