local package = script.Parent.Parent local packages = package.Parent type SignalModule = typeof(require(packages.signal)) local getModule = require(package.utilities.getModule) local signalModule = getModule("signal") -- i hate this export type Connection = typeof((function() local module = require(packages.signal) return {} :: module.Connection end)()) export type Signal = typeof((function() local module = require(packages.signal) return {} :: module.Signal end)()) return require(signalModule) :: SignalModule