Currently if you attempt to fan-in any input mappings in a composite definition we error out. This takes an approach of fixing this without changing the input/output mapping APIs. It's not obvious to me how the output mappings would work in that version of the world, and breaking changes have their own inherent cost. This approach is a little awkward, but I think maybe the way to go.
depends on D5217