# LLM Prompt for Documentation ## Documentation ### Json #### Json **Type Annotation** **Description** An opaque type with the `Encode.EncoderFormatting` and `DecoderFormatting` abilities. #### utf8 **Type Annotation** **Description** Returns a JSON `Encode.Encoder` and `Decoder` #### utf8With **Type Annotation** ```roc { fieldNameMapping ? FieldNameMapping, skipMissingProperties ? Bool, nullDecodeAsEmpty ? Bool, emptyEncodeAsNull ? EncodeAsNull } -> Json ``` #### encodeAsNullOption **Type Annotation** ```roc { list ? Bool, tuple ? Bool, record ? Bool } -> EncodeAsNull ``` ### Option #### Option **Type Annotation** #### none **Type Annotation** **Description** Missing or null #### some **Type Annotation** **Description** A value #### get **Type Annotation** #### getResult **Type Annotation** #### from **Type Annotation** **Description** use like `Option.from Ok val` #### fromResult **Type Annotation** ```roc Result a * -> ``` **Description** Convert a result with any `Err` to an Option ### OptionOrNull #### OptionOrNull **Type Annotation** #### none **Type Annotation** **Description** Missing field #### null **Type Annotation** **Description** Null #### some **Type Annotation** **Description** Some value #### get **Type Annotation** **Description** Get option internals. For access to convinence methods and error accumulation you may want `Option.getResult` #### getResult **Type Annotation** **Description** Option as a result #### from **Type Annotation**