A smart pointer that allows you to share identical, synchronously-loaded data between the
server and the client.
If this constructed on the server, it serializes its value into the shared context. If it is
constructed on the client during hydration, it reads its value from the shared context. If
it it constructed on the client at any other time, it simply runs on the client.
If this is on the server, the function will be invoked and the value serialized. When it runs
on the client, it will be deserialized without running the function again.
If this is on the server, the function will be invoked and the value serialized. When it runs
on the client, it will be deserialized without running the function again.
If this is on the server, the function will be invoked and the value serialized. When it runs
on the client, it will be deserialized without running the function again.