--[[
Retrieves at most one child from the children passed to a component.
If passed nil or an empty table, will return nil.
Throws an error if passed more than one child.
]]
local function oneChild(children)
if not children then
return nil
end
local key, child = next(children)
if not child then
return nil
end
local after = next(children, key)
if after then
error("Expected at most child, had more than one child.", 2)
end
return child
end
return oneChild