Hello, I’ve asked in several discord servers about this problem but no one wants to answer 
I’m trying to make a module for binding a tool. Moving it from replicated storage to backpack and vice versa. I’m getting an error that the 3# argument is a table and not an instance. I have no idea what I’m supposed to do.
Local Script
local event = game.ReplicatedStorage:WaitForChild("RemoteEvent")
local uis = game:GetService("UserInputService")
local player = game.Players.LocalPlayer
local tool = game.ReplicatedStorage.Tool
local bind = Enum.KeyCode.E
local targetLocation = game.ReplicatedStorage
uis.InputBegan:Connect(function(input)
if input.KeyCode == bind then
event:FireServer(tool, targetLocation)
end
end)
Script
local module = require(game.ServerScriptService:WaitForChild("BindModule", 20))
local event = game.ReplicatedStorage.RemoteEvent
event.OnServerEvent:Connect(function(plr, tool, tl)
local backpack = plr.Backpack
module:BindTool(backpack, tool, tl)
end)
Module
local bind = {}
bind.BindTool = function(backpack, Tool, tl)
if Tool.Parent ~= backpack then
Tool.Parent = backpack
else
Tool.Parent = tl
end
end
return bind
Some help would be amaaziiing!