- Use `Dream.router` to define routes: `Dream.get "/path" (fun req -> Dream.html "<p>Hello</p>")`.
- Use `Dream.sql request pool query` for database access within request handlers — pass the connection pool via the request context.
- Use `Dream.middleware` to compose authentication, logging, and CORS checks before routing.
- Use `Dream.set_field` and `Dream.field` to attach typed values to the request object for passing context between middlewares and handlers.