Notification system module script not working

Hi so I’m finally close to completing my inventory system, but I just have to fix the notification system.
I put print() in the module script to see if it works, and it does print but nothing else works.

Main Script (requires the module script)
local plr = game.Players.LocalPlayer
local datafolder = plr.Data 
local inventory = datafolder.Inventory
local replicatedstorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local Typewriter = require(replicatedstorage.Typewriter)
local notification = replicatedstorage.RemoteEvents.Notification
local chr = plr.Character
local gui = plr.PlayerGui
local inventorymain = gui.Main.Menu.Inventory.Inventory
local about = inventorymain.About.Frame
local mainmodule = require(replicatedstorage.Notification)

inventory.ChildAdded:Connect(function(child)
	print("ah yes child added yes the name? ok here it is: " .. child.Name)
	
	local textnot = script.Parent.Parent.Parent.Notifications
	local textxd = 'Received Item <font color="rgb(106,255,0)"><font size="10">'.."&lt;" .. child.Name .. '&gt;'..'</font></font>'
	
	local new = Instance.new("TextLabel", script.Parent.Parent.Parent.Notifications)
	new.RichText = true
	new.TextColor3 = Color3.fromRGB(255, 255, 255)
	new.Visible = true
	new.BackgroundTransparency = 1
	new.TextTransparency = 1
	new.Font = Enum.Font.GothamSemibold
	new.TextScaled = true
	new.MaxVisibleGraphemes = 1
	new.Text = textxd
	new.TextStrokeTransparency = 0.85
	
	mainmodule.Open(new, textxd)
	
	local slotclone = script.Parent.SlotTemplate:Clone()
	slotclone["Item Name"].Value = child.Name
	slotclone["Item Description"].Value = child.Value
	slotclone["Item Rarity"].Value = child:FindFirstChild("Rarity").Value
	slotclone["Item Type"].Value = child:FindFirstChild("Model").Type.Value
	slotclone.Parent = script.Parent.InventoryFrame
	slotclone.InventoryItem.Value = child
	slotclone.aelol.Text = child.Name

	if child:FindFirstChildOfClass("Model") then
		local model = child:FindFirstChildOfClass("Model")
		local clone = model:Clone()
		local clone2 = child:FindFirstChildOfClass("UIGradient"):Clone()
		clone2.Parent = slotclone.Border
		clone.Parent = slotclone.Model.WorldModel
	end
	
	mainmodule.Type(new, textxd)
	
	slotclone.Visible = true
	slotclone.Name = child.Name
	slotclone.LocalScript.Disabled = false
	
	wait(5)
	
	mainmodule.Close(new, textxd)
		
end)

MODULE SCRIPT
local tweenservice = game:GetService("TweenService")

local functions = {}

function functions.Open(textobj, text)
	local open = tweenservice:Create(
		textobj, -- UI object you're tweening, in this case it's Frame
		TweenInfo.new(0.35), -- Amount of seconds
		{TextTransparency = 0} -- Goal
	)

	open:Play()
	print("printed")
end

function functions.Close(textobj, text)
	local close = tweenservice:Create(
		textobj, -- UI object you're tweening, in this case it's Frame
		TweenInfo.new(0.35), -- Amount of seconds
		{TextTransparency = 1} -- Goal
	)

	close:Play()

	wait(1)
	textobj.Visible = false
	wait(0.5)
	textobj:Destroy()
	print("printed ed")
end

function functions.Type(textobj, text)
	local index = 0
	for first, last in utf8.graphemes(text) do 
		local grapheme = text:sub(first, last) 
		index += 1
		textobj.MaxVisibleGraphemes = text
		wait(0.01)
	end
	print("typed lol")
end

return functions

Everything in the localscript works but the modulescript wont work properly, I cant seem to fix it so I’d love and appreciate some help, thanks in advance.

I’ve fixed it, something was wrong in the typewriting part.