# Walking though the Elm woods

## Walking though the Elm woods

- [Introduction](https://orasund.gitbook.io/elm-cookbook/master.md)
- [Structure of the book](https://orasund.gitbook.io/elm-cookbook/frequently-asked-questions.md)
- [How can different types share data?](https://orasund.gitbook.io/elm-cookbook/frequently-asked-questions-1/how-can-different-types-share-data.md)
- [How to break Dependency Cycles?](https://orasund.gitbook.io/elm-cookbook/frequently-asked-questions-1/how-to-break-dependency-cycles.md)
- [How to structure an Elm project?](https://orasund.gitbook.io/elm-cookbook/frequently-asked-questions-1/how-to-structure-an-elm-project.md)
- [How to turn a Msg into a Cmd Msg?](https://orasund.gitbook.io/elm-cookbook/frequently-asked-questions-1/how-to-turn-a-msg-into-a-cmd-msg.md)
- [How to update nested Records?](https://orasund.gitbook.io/elm-cookbook/frequently-asked-questions-1/how-to-update-nested-records.md)
- [What are comparable types?](https://orasund.gitbook.io/elm-cookbook/frequently-asked-questions-1/what-does-comparable-type.md)
- [Why are Booleans bad?](https://orasund.gitbook.io/elm-cookbook/frequently-asked-questions-1/why-are-booleans-bad.md)
- [Future topics](https://orasund.gitbook.io/elm-cookbook/frequently-asked-questions-1/future-topics.md)
- [Writing a Single Page Application](https://orasund.gitbook.io/elm-cookbook/recipes-1/writing-a-single-page-application.md)
- [Share state across pages](https://orasund.gitbook.io/elm-cookbook/recipes-1/writing-a-single-page-application/share-state-across-pages.md)
- [Debounced Validation](https://orasund.gitbook.io/elm-cookbook/recipes-1/writing-a-single-page-application/debounced-validation.md)
- [Reusable views](https://orasund.gitbook.io/elm-cookbook/recipes-1/writing-a-single-page-application/reusable-views.md)
- [Making impossible states Impossible](https://orasund.gitbook.io/elm-cookbook/recipes-1/making-impossible-states-impossible.md)
- [Non empty lists using Zippers](https://orasund.gitbook.io/elm-cookbook/recipes-1/making-impossible-states-impossible/non-empty-lists-using-zippers.md)
- [Restrict records using Opaque Types](https://orasund.gitbook.io/elm-cookbook/recipes-1/making-impossible-states-impossible/restrict-records-using-opaque-types.md)
- [Write safer functions using Phantom Types](https://orasund.gitbook.io/elm-cookbook/recipes-1/making-impossible-states-impossible/write-safer-functions-using-phantom-types.md)
- [Designing Elm package APIs](https://orasund.gitbook.io/elm-cookbook/recipes-1/designing-a-api.md)
- [Create upwards compatible APIs](https://orasund.gitbook.io/elm-cookbook/recipes-1/designing-a-api/create-upwards-compatible-apis.md)
- [Future topics](https://orasund.gitbook.io/elm-cookbook/recipes-1/future-topics.md)
- [elm/parser](https://orasund.gitbook.io/elm-cookbook/frameworks-1/elm-parser.md)
- [mdgriffith/elm-ui](https://orasund.gitbook.io/elm-cookbook/frameworks-1/elm-ui-1.md)
- [Future topics](https://orasund.gitbook.io/elm-cookbook/frameworks-1/elm-ui.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://orasund.gitbook.io/elm-cookbook/master.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
