diff --git a/docs/2.0/Function.md b/docs/2.0/Function.md
index 8acce1e..6443102 100644
--- a/docs/2.0/Function.md
+++ b/docs/2.0/Function.md
@@ -2,7 +2,7 @@
Functions allow RemoteFunction-like behavior in Red for calling client -> server.
-## SetCallback
+## SetCallback
Sets the function's callback.
@@ -22,24 +22,22 @@ Function:SetCallback(function(Player, Arg1, Arg2, Arg3)
end)
```
-::: danger
-If the callback errors the client will never recieve any value and will yield forever. **Doing this is a memory leak!** Do not rely on erroring not sending back values.
-:::
-
-## Call
+## Call
Calls the function on the server.
```lua
(
...A: any -- The arguments to pass to the function.
-) -> Future
+) -> Future -- A success boolean followed by the returned values
```
-A function is called on the client to call the function on the server. This method returns a [Future](https://util.redblox.dev/future) which can be used to await the return values or connect a function to be called when the return values are received.
+Functions can only be called from the client. The client must pass valid arguments to the function, and will be given back a [Future](https://util.redblox.dev/future) that completes with the returned values.
+
+It also returns a success boolean, similar to pcall, which is false if the server's callback function errored, and true if it was successful.
```lua
local Function = require(Path.To.Function)
-local Ret1, Ret2, Ret3 = Function:Call(Arg1, Arg2, Arg3):Await()
+local Success, Ret1, Ret2, Ret3 = Function:Call(Arg1, Arg2, Arg3):Await()
```
diff --git a/docs/guide/functions.md b/docs/guide/functions.md
index 4b22ee8..d9701d1 100644
--- a/docs/guide/functions.md
+++ b/docs/guide/functions.md
@@ -56,9 +56,9 @@ end)
:::
-## Set Callback
+## Setting the Callback
-A singular callback must be set on the server to allow clients to call the event. This callback is given the arguments and must return the expected return values.
+A singular callback must be set on the server to allow clients to call the function. This callback is given the arguments and must return the expected return values. This callback may only be set on the server, attempting to set it on the client will result in an error.
```lua
local Function = require(Path.To.Function)
@@ -68,16 +68,14 @@ Function:SetCallback(function(Player, Arg1, Arg2, Arg3)
end)
```
-::: danger
-If the callback errors then the client will never recieve any value and will yield forever. **Doing this is a memory leak!** Do not rely on erroring not sending back values.
-:::
-
## Calling
Functions can only be called from the client. The client must pass valid arguments to the function, and will be given back a [Future](https://util.redblox.dev/future) that completes with the returned values.
+It also returns a success boolean, similar to pcall, which is false if the server's callback function errored, and true if it was successful.
+
```lua
local Function = require(Path.To.Function)
-local Ret1, Ret2, Ret3 = Function:Call("Hello", 1, true):Await()
+local Success, Ret1, Ret2, Ret3 = Function:Call("Hello", 1, true):Await()
```