We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Consider promoting `case` to the top level
## Current behavior
*Please describe how the feature works today*
Currently, the `case` context manager must be imported from `prefect.tasks.control_flow.case`.



## Proposed behavior
*Please describe your proposed change to the current behavior*
I think we should consider promoting `case` to being importable as `prefect.case`, since it forms a fundamental part of the Python API. Other control flow utilities have "task-like" semantics (even if they are called as functions), and it's more appropriate for them to live in a `tasks` submodule. However, like `task`, `Flow`, `tags`, and `unmapped`, I believe `case` represents a significant component of Prefect's Python syntax and warrants top-level availability.




## Example
*Please give an example of how the enhancement would be useful*
```
from prefect import Flow, case

with Flow("example"):
    with case(is_this_easy, True):
        do_stuff()

    with prefect.tasks.control_flow.case(is_this_easy, False):
        do_other_stuff()
```

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `src/prefect/__init__.py`
Content:
```
1 import prefect.utilities
2 from prefect.configuration import config
3 
4 from prefect.utilities.context import context
5 
6 from prefect.client import Client
7 import prefect.schedules
8 import prefect.triggers
9 import prefect.environments
10 
11 from prefect.core import Task, Flow, Parameter
12 import prefect.engine
13 import prefect.tasks
14 from prefect.utilities.tasks import task, tags, unmapped
15 
16 import prefect.serialization
17 
18 import prefect.agent
19 
20 from ._version import get_versions
21 
22 __version__ = get_versions()["version"]  # type: ignore
23 del get_versions
24 
25 try:
26     import signal as _signal
27     from ._siginfo import sig_handler as _sig_handler
28 
29     _signal.signal(29, _sig_handler)
30 except:
31     pass
32
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/src/prefect/__init__.py b/src/prefect/__init__.py
--- a/src/prefect/__init__.py
+++ b/src/prefect/__init__.py
@@ -11,6 +11,7 @@
 from prefect.core import Task, Flow, Parameter
 import prefect.engine
 import prefect.tasks
+from prefect.tasks.control_flow import case
 from prefect.utilities.tasks import task, tags, unmapped
 
 import prefect.serialization

{"golden_diff": "diff --git a/src/prefect/__init__.py b/src/prefect/__init__.py\n--- a/src/prefect/__init__.py\n+++ b/src/prefect/__init__.py\n@@ -11,6 +11,7 @@\n from prefect.core import Task, Flow, Parameter\n import prefect.engine\n import prefect.tasks\n+from prefect.tasks.control_flow import case\n from prefect.utilities.tasks import task, tags, unmapped\n \n import prefect.serialization\n", "issue": "Consider promoting `case` to the top level\n## Current behavior\r\n*Please describe how the feature works today*\r\nCurrently, the `case` context manager must be imported from `prefect.tasks.control_flow.case`.\r\n\r\n\r\n\r\n## Proposed behavior\r\n*Please describe your proposed change to the current behavior*\r\nI think we should consider promoting `case` to being importable as `prefect.case`, since it forms a fundamental part of the Python API. Other control flow utilities have \"task-like\" semantics (even if they are called as functions), and it's more appropriate for them to live in a `tasks` submodule. However, like `task`, `Flow`, `tags`, and `unmapped`, I believe `case` represents a significant component of Prefect's Python syntax and warrants top-level availability.\r\n\r\n\r\n\r\n\r\n## Example\r\n*Please give an example of how the enhancement would be useful*\r\n```\r\nfrom prefect import Flow, case\r\n\r\nwith Flow(\"example\"):\r\n    with case(is_this_easy, True):\r\n        do_stuff()\r\n\r\n    with prefect.tasks.control_flow.case(is_this_easy, False):\r\n        do_other_stuff()\r\n```\n", "before_files": [{"content": "import prefect.utilities\nfrom prefect.configuration import config\n\nfrom prefect.utilities.context import context\n\nfrom prefect.client import Client\nimport prefect.schedules\nimport prefect.triggers\nimport prefect.environments\n\nfrom prefect.core import Task, Flow, Parameter\nimport prefect.engine\nimport prefect.tasks\nfrom prefect.utilities.tasks import task, tags, unmapped\n\nimport prefect.serialization\n\nimport prefect.agent\n\nfrom ._version import get_versions\n\n__version__ = get_versions()[\"version\"]  # type: ignore\ndel get_versions\n\ntry:\n    import signal as _signal\n    from ._siginfo import sig_handler as _sig_handler\n\n    _signal.signal(29, _sig_handler)\nexcept:\n    pass\n", "path": "src/prefect/__init__.py"}], "after_files": [{"content": "import prefect.utilities\nfrom prefect.configuration import config\n\nfrom prefect.utilities.context import context\n\nfrom prefect.client import Client\nimport prefect.schedules\nimport prefect.triggers\nimport prefect.environments\n\nfrom prefect.core import Task, Flow, Parameter\nimport prefect.engine\nimport prefect.tasks\nfrom prefect.tasks.control_flow import case\nfrom prefect.utilities.tasks import task, tags, unmapped\n\nimport prefect.serialization\n\nimport prefect.agent\n\nfrom ._version import get_versions\n\n__version__ = get_versions()[\"version\"]  # type: ignore\ndel get_versions\n\ntry:\n    import signal as _signal\n    from ._siginfo import sig_handler as _sig_handler\n\n    _signal.signal(29, _sig_handler)\nexcept:\n    pass\n", "path": "src/prefect/__init__.py"}]}