Hello, here's what I've tried:
--Client, remoteEvent
game.ReplicatedStorage.RemoteEvent:FireServer(function() return "This is a string" end)
--Server, remoteEvent
game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(plr, func)
func = func()
print(func)
end)
This gives the error: Cannot call nil value
But, this next script prints the string.
-- Client, BindableFunction
game.ReplicatedStorage.Function:Invoke(function() return "This is a string" end)
-- Client, BindableFunction2
game.ReplicatedStorage.Function.OnInvoke = function(object)
object = object()
print(object)
end
This is super weird, if anyone can help me, that would be great!

2 comments
Why can't I assign a function that exist on the server as well? such as "FireServer"?
I have no idea what you're asking there.