@add_object.register(core.RectAreaLight)
def _add_object(obj: core.RectAreaLight):
    area = bpy.data.lights.new(obj.uid, 'AREA')
    area_obj = bpy.data.objects.new(obj.uid, area)
    setters = {'position': core.AttributeSetter(area_obj, 'location'), 'quaternion': core.AttributeSetter(area_obj, 'rotation_quaternion'), 'scale': core.AttributeSetter(area_obj, 'scale'), 'color': core.AttributeSetter(area, 'color'), 'intensity': core.AttributeSetter(area, 'energy'), 'width': core.AttributeSetter(area, 'size'), 'height': core.AttributeSetter(area, 'size_y')}
    return (area_obj, setters)
@add_object.register(core.RectAreaLight)
def _add_object(obj: core.RectAreaLight):
    area = bpy.data.lights.new(obj.uid, 'AREA')
    area_obj = bpy.data.objects.new(obj.uid, area)
    setters = {'position': core.AttributeSetter(area_obj, 'location'), 'quaternion': core.AttributeSetter(area_obj, 'rotation_quaternion'), 'scale': core.AttributeSetter(area_obj, 'scale'), 'color': core.AttributeSetter(area, 'color'), 'intensity': core.AttributeSetter(area, 'energy'), 'width': core.AttributeSetter(area, 'size'), 'height': core.AttributeSetter(area, 'size_y')}
    return (area_obj, setters)