function Binding.create(V)local S={[Type]=Type.Binding;[InternalData]={value=V,changeSignal=createSignal();subscriberCount=0;valueTransform=identity;upstreamBinding=nil,upstreamDisconnect=nil}}setmetatable(S,bindingPrototype)local W=function(V)Binding.update(S,V)end return S,W end return Binding
--[[
	Create a new binding object with the given starting value. This
	function will be exposed to users of Roact.
]]
function Binding.create(initialValue)
	local binding = {
		[Type] = Type.Binding,

		[InternalData] = {
			value = initialValue,
			changeSignal = createSignal(),
			subscriberCount = 0,

			valueTransform = identity,
			upstreamBinding = nil,
			upstreamDisconnect = nil,
		},
	}

	setmetatable(binding, bindingPrototype)

	local setter = function(newValue)
		Binding.update(binding, newValue)
	end

	return binding, setter
end

return Binding
