Did you mean to project only the attributes you're mapping? Otherwise the relation is going to contain attributes for other things. I would assume you would generally want to do:

```ruby
def call(relation)
  mapping = header.mapping
  relation.project(mapping.keys).rename(mapping)
end
```

Or if you prefer:

```ruby
def call(relation)
  mapping = header.mapping
  relation.rename(mapping).project(mapping.values)
end
```

Both should be functionally equivalent.