# 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` #### utf8_with **Type Annotation** ```roc { field_name_mapping ? FieldNameMapping, skip_missing_properties ? Bool, null_decode_as_empty ? Bool, empty_encode_as_null ? EncodeAsNull } -> Json ``` #### encode_as_null_option **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** #### get_result **Type Annotation** #### from **Type Annotation** **Description** use like `Option.from(Ok(val))` #### from_result **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.get_result` #### get_result **Type Annotation** **Description** Option as a result #### from **Type Annotation**