Module CST

module CST: sig .. end
The type for concrete syntax trees of POSIX shell scripts. These trees are produced by the Morbig parser.

This type definition refers directly to the grammar production rules of the POSIX standard. We use the following convention to name data constructors: given a rule A -> P1 ... PN of the grammar, the constructor for this rule starts with the name of the non terminal A and continues with the names of producers Pi appearing in the right-hand-side of the production rule. We do not need types for operators and reserved words.

These concrete syntax trees are actually richer than the production trees defined by the grammar. Indeed, they also embed concrete syntax trees for WORDs while the grammar sees WORDs are mere tokens. For instance, echo `cat bar` is interpreted by the grammar as a simple command with two WORDs echo and `cat bar`. Morbig does not stop its work here: it also parses `cat bar` and the resulting concrete syntax tree is attached to the WORD `cat bar`. See the type definition for word below for more details.

The PPX syntax extension package "visitors", written by François Pottier, is used to macro-generate many traversal functions over this concrete syntax tree. Note that we expose the .ml file of this module because the types generated by visitors are too complex to be displayed.


type position = {
   start_p : lexing_position;
   end_p : lexing_position;
}
type lexing_position = Lexing.position = {
   pos_fname : string;
   pos_lnum : int;
   pos_bol : int;
   pos_cnum : int;
}
type 'a located = {
   value : 'a;
   position : position;
}
val position_to_yojson : position -> Yojson.Safe.t
val position_of_yojson : Yojson.Safe.t -> position Ppx_deriving_yojson_runtime.error_or
val lexing_position_to_yojson : lexing_position -> Yojson.Safe.t
val lexing_position_of_yojson : Yojson.Safe.t -> lexing_position Ppx_deriving_yojson_runtime.error_or
val located_to_yojson : 'a. ('a -> Yojson.Safe.t) -> 'a located -> Yojson.Safe.t
val located_of_yojson : 'a.
(Yojson.Safe.t -> 'a Ppx_deriving_yojson_runtime.error_or) ->
Yojson.Safe.t -> 'a located Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
include struct ... end
include struct ... end
include struct ... end
include struct ... end
include struct ... end
include struct ... end
include struct ... end
type program = 
| Program_LineBreak_CompleteCommands_LineBreak of linebreak' * complete_commands' * linebreak'
| Program_LineBreak of linebreak'
type complete_commands = 
| CompleteCommands_CompleteCommands_NewlineList_CompleteCommand of complete_commands' * newline_list' * complete_command'
| CompleteCommands_CompleteCommand of complete_command'
type complete_command = 
| CompleteCommand_CList_SeparatorOp of clist' * separator_op'
| CompleteCommand_CList of clist'
type clist = 
| CList_CList_SeparatorOp_AndOr of clist' * separator_op' * and_or'
| CList_AndOr of and_or'
type and_or = 
| AndOr_Pipeline of pipeline'
| AndOr_AndOr_AndIf_LineBreak_Pipeline of and_or' * linebreak' * pipeline'
| AndOr_AndOr_OrIf_LineBreak_Pipeline of and_or' * linebreak' * pipeline'
type pipeline = 
| Pipeline_PipeSequence of pipe_sequence'
| Pipeline_Bang_PipeSequence of pipe_sequence'
type pipe_sequence = 
| PipeSequence_Command of command'
| PipeSequence_PipeSequence_Pipe_LineBreak_Command of pipe_sequence' * linebreak' * command'
type command = 
| Command_SimpleCommand of simple_command'
| Command_CompoundCommand of compound_command'
| Command_CompoundCommand_RedirectList of compound_command' * redirect_list'
| Command_FunctionDefinition of function_definition'
type compound_command = 
| CompoundCommand_BraceGroup of brace_group'
| CompoundCommand_Subshell of subshell'
| CompoundCommand_ForClause of for_clause'
| CompoundCommand_CaseClause of case_clause'
| CompoundCommand_IfClause of if_clause'
| CompoundCommand_WhileClause of while_clause'
| CompoundCommand_UntilClause of until_clause'
type subshell = 
| Subshell_Lparen_CompoundList_Rparen of compound_list'
type compound_list = 
| CompoundList_LineBreak_Term of linebreak' * term'
| CompoundList_LineBreak_Term_Separator of linebreak' * term' * separator'
type term = 
| Term_Term_Separator_AndOr of term' * separator' * and_or'
| Term_AndOr of and_or'
type for_clause = 
| ForClause_For_Name_DoGroup of name' * do_group'
| ForClause_For_Name_SequentialSep_DoGroup of name' * sequential_sep' * do_group'
| ForClause_For_Name_LineBreak_In_SequentialSep_DoGroup of name' * linebreak' * sequential_sep' * do_group'
| ForClause_For_Name_LineBreak_In_WordList_SequentialSep_DoGroup of name' * linebreak' * wordlist' * sequential_sep'
* do_group'
type wordlist = 
| WordList_WordList_Word of wordlist' * word'
| WordList_Word of word'
type case_clause = 
| CaseClause_Case_Word_LineBreak_In_LineBreak_CaseList_Esac of word' * linebreak' * linebreak' * case_list'
| CaseClause_Case_Word_LineBreak_In_LineBreak_CaseListNS_Esac of word' * linebreak' * linebreak' * case_list_ns'
| CaseClause_Case_Word_LineBreak_In_LineBreak_Esac of word' * linebreak' * linebreak'
type case_list_ns = 
| CaseListNS_CaseList_CaseItemNS of case_list' * case_item_ns'
| CaseListNS_CaseItemNS of case_item_ns'
type case_list = 
| CaseList_CaseList_CaseItem of case_list' * case_item'
| CaseList_CaseItem of case_item'
type case_item_ns = 
| CaseItemNS_Pattern_Rparen_LineBreak of pattern' * linebreak'
| CaseItemNS_Pattern_Rparen_CompoundList of pattern' * compound_list'
| CaseItemNS_Lparen_Pattern_Rparen_LineBreak of pattern' * linebreak'
| CaseItemNS_Lparen_Pattern_Rparen_CompoundList of pattern' * compound_list'
type case_item = 
| CaseItem_Pattern_Rparen_LineBreak_Dsemi_LineBreak of pattern' * linebreak' * linebreak'
| CaseItem_Pattern_Rparen_CompoundList_Dsemi_LineBreak of pattern' * compound_list' * linebreak'
| CaseItem_Lparen_Pattern_Rparen_LineBreak_Dsemi_LineBreak of pattern' * linebreak' * linebreak'
| CaseItem_Lparen_Pattern_Rparen_CompoundList_Dsemi_LineBreak of pattern' * compound_list' * linebreak'
type pattern = 
| Pattern_Word of word'
| Pattern_Pattern_Pipe_Word of pattern' * word'
type if_clause = 
| IfClause_If_CompoundList_Then_CompoundList_ElsePart_Fi of compound_list' * compound_list' * else_part'
| IfClause_If_CompoundList_Then_CompoundList_Fi of compound_list' * compound_list'
type else_part = 
| ElsePart_Elif_CompoundList_Then_CompoundList of compound_list' * compound_list'
| ElsePart_Elif_CompoundList_Then_CompoundList_ElsePart of compound_list' * compound_list' * else_part'
| ElsePart_Else_CompoundList of compound_list'
type while_clause = 
| WhileClause_While_CompoundList_DoGroup of compound_list' * do_group'
type until_clause = 
| UntilClause_Until_CompoundList_DoGroup of compound_list' * do_group'
type function_definition = 
| FunctionDefinition_Fname_Lparen_Rparen_LineBreak_FunctionBody of fname' * linebreak' * function_body'
type function_body = 
| FunctionBody_CompoundCommand of compound_command'
| FunctionBody_CompoundCommand_RedirectList of compound_command' * redirect_list'
type fname = 
| Fname_Name of name
type brace_group = 
| BraceGroup_LBrace_CompoundList_RBrace of compound_list'
type do_group = 
| DoGroup_Do_CompoundList_Done of compound_list'
type simple_command = 
| SimpleCommand_CmdPrefix_CmdWord_CmdSuffix of cmd_prefix' * cmd_word' * cmd_suffix'
| SimpleCommand_CmdPrefix_CmdWord of cmd_prefix' * cmd_word'
| SimpleCommand_CmdPrefix of cmd_prefix'
| SimpleCommand_CmdName_CmdSuffix of cmd_name' * cmd_suffix'
| SimpleCommand_CmdName of cmd_name'
type cmd_name = 
| CmdName_Word of word'
type cmd_word = 
| CmdWord_Word of word'
type cmd_prefix = 
| CmdPrefix_IoRedirect of io_redirect'
| CmdPrefix_CmdPrefix_IoRedirect of cmd_prefix' * io_redirect'
| CmdPrefix_AssignmentWord of assignment_word'
| CmdPrefix_CmdPrefix_AssignmentWord of cmd_prefix' * assignment_word'
type cmd_suffix = 
| CmdSuffix_IoRedirect of io_redirect'
| CmdSuffix_CmdSuffix_IoRedirect of cmd_suffix' * io_redirect'
| CmdSuffix_Word of word'
| CmdSuffix_CmdSuffix_Word of cmd_suffix' * word'
type redirect_list = 
| RedirectList_IoRedirect of io_redirect'
| RedirectList_RedirectList_IoRedirect of redirect_list' * io_redirect'
type io_redirect = 
| IoRedirect_IoFile of io_file'
| IoRedirect_IoNumber_IoFile of io_number * io_file'
| IoRedirect_IoHere of io_here'
| IoRedirect_IoNumber_IoHere of io_number * io_here'
type io_file = 
| IoFile_Less_FileName of filename'
| IoFile_LessAnd_FileName of filename'
| IoFile_Great_FileName of filename'
| IoFile_GreatAnd_FileName of filename'
| IoFile_DGreat_FileName of filename'
| IoFile_LessGreat_FileName of filename'
| IoFile_Clobber_FileName of filename'
type filename = 
| Filename_Word of word'
type io_here = 
| IoHere_DLess_HereEnd of here_end' * word' Pervasives.ref
| IoHere_DLessDash_HereEnd of here_end' * word' Pervasives.ref
The two IoHere constructors have two arguments. The second argument is the word holding the contents of the here document, which does not figure in the grammar.
type here_end = 
| HereEnd_Word of word'
type newline_list = 
| NewLineList_NewLine
| NewLineList_NewLineList_NewLine of newline_list'
type linebreak = 
| LineBreak_NewLineList of newline_list'
| LineBreak_Empty
type separator_op = 
| SeparatorOp_Uppersand
| SeparatorOp_Semicolon
type separator = 
| Separator_SeparatorOp_LineBreak of separator_op' * linebreak'
| Separator_NewLineList of newline_list'
type sequential_sep = 
| SequentialSep_Semicolon_LineBreak of linebreak'
| SequentialSep_NewLineList of newline_list'
type word = 
| Word of string * word_cst
type word_cst = word_component list 
type word_component = 
| WordSubshell of subshell_kind * program located
| WordName of string
| WordAssignmentWord of assignment_word
| WordDoubleQuoted of word
| WordSingleQuoted of word
| WordLiteral of string
| WordVariable of variable
| WordGlobAll
| WordGlobAny
| WordGlobRange of character_range
| WordOther
| WordEmpty
type character_range = 
| Range of char list
type variable = 
| VariableAtom of string * variable_attribute
type variable_attribute = 
| NoAttribute
| UseDefaultValues of word
| AssignDefaultValues of word
| IndicateErrorifNullorUnset of word
| UseAlternativeValue of word
| RemoveSmallestSuffixPattern of word
| RemoveLargestSuffixPattern of word
| RemoveSmallestPrefixPattern of word
| RemoveLargestPrefixPattern of word
type subshell_kind = 
| SubShellKindBackQuote
| SubShellKindParentheses
type name = 
| Name of string
type assignment_word = name * word 
type io_number = 
| IONumber of string
type program' = program located 
type complete_commands' = complete_commands located 
type complete_command' = complete_command located 
type clist' = clist located 
type and_or' = and_or located 
type pipeline' = pipeline located 
type pipe_sequence' = pipe_sequence located 
type command' = command located 
type compound_command' = compound_command located 
type subshell' = subshell located 
type compound_list' = compound_list located 
type term' = term located 
type for_clause' = for_clause located 
type wordlist' = wordlist located 
type case_clause' = case_clause located 
type case_list_ns' = case_list_ns located 
type case_list' = case_list located 
type case_item_ns' = case_item_ns located 
type case_item' = case_item located 
type pattern' = pattern located 
type if_clause' = if_clause located 
type else_part' = else_part located 
type while_clause' = while_clause located 
type until_clause' = until_clause located 
type function_definition' = function_definition located 
type function_body' = function_body located 
type fname' = fname located 
type brace_group' = brace_group located 
type do_group' = do_group located 
type simple_command' = simple_command located 
type cmd_name' = cmd_name located 
type cmd_word' = cmd_word located 
type cmd_prefix' = cmd_prefix located 
type cmd_suffix' = cmd_suffix located 
type redirect_list' = redirect_list located 
type io_redirect' = io_redirect located 
type io_file' = io_file located 
type filename' = filename located 
type io_here' = io_here located 
type here_end' = here_end located 
type newline_list' = newline_list located 
type linebreak' = linebreak located 
type separator_op' = separator_op located 
type separator' = separator located 
type sequential_sep' = sequential_sep located 
type word' = word located 
type name' = name located 
type assignment_word' = assignment_word located 
val program_to_yojson : program -> Yojson.Safe.t
val program_of_yojson : Yojson.Safe.t -> program Ppx_deriving_yojson_runtime.error_or
val complete_commands_to_yojson : complete_commands -> Yojson.Safe.t
val complete_commands_of_yojson : Yojson.Safe.t -> complete_commands Ppx_deriving_yojson_runtime.error_or
val complete_command_to_yojson : complete_command -> Yojson.Safe.t
val complete_command_of_yojson : Yojson.Safe.t -> complete_command Ppx_deriving_yojson_runtime.error_or
val clist_to_yojson : clist -> Yojson.Safe.t
val clist_of_yojson : Yojson.Safe.t -> clist Ppx_deriving_yojson_runtime.error_or
val and_or_to_yojson : and_or -> Yojson.Safe.t
val and_or_of_yojson : Yojson.Safe.t -> and_or Ppx_deriving_yojson_runtime.error_or
val pipeline_to_yojson : pipeline -> Yojson.Safe.t
val pipeline_of_yojson : Yojson.Safe.t -> pipeline Ppx_deriving_yojson_runtime.error_or
val pipe_sequence_to_yojson : pipe_sequence -> Yojson.Safe.t
val pipe_sequence_of_yojson : Yojson.Safe.t -> pipe_sequence Ppx_deriving_yojson_runtime.error_or
val command_to_yojson : command -> Yojson.Safe.t
val command_of_yojson : Yojson.Safe.t -> command Ppx_deriving_yojson_runtime.error_or
val compound_command_to_yojson : compound_command -> Yojson.Safe.t
val compound_command_of_yojson : Yojson.Safe.t -> compound_command Ppx_deriving_yojson_runtime.error_or
val subshell_to_yojson : subshell -> Yojson.Safe.t
val subshell_of_yojson : Yojson.Safe.t -> subshell Ppx_deriving_yojson_runtime.error_or
val compound_list_to_yojson : compound_list -> Yojson.Safe.t
val compound_list_of_yojson : Yojson.Safe.t -> compound_list Ppx_deriving_yojson_runtime.error_or
val term_to_yojson : term -> Yojson.Safe.t
val term_of_yojson : Yojson.Safe.t -> term Ppx_deriving_yojson_runtime.error_or
val for_clause_to_yojson : for_clause -> Yojson.Safe.t
val for_clause_of_yojson : Yojson.Safe.t -> for_clause Ppx_deriving_yojson_runtime.error_or
val wordlist_to_yojson : wordlist -> Yojson.Safe.t
val wordlist_of_yojson : Yojson.Safe.t -> wordlist Ppx_deriving_yojson_runtime.error_or
val case_clause_to_yojson : case_clause -> Yojson.Safe.t
val case_clause_of_yojson : Yojson.Safe.t -> case_clause Ppx_deriving_yojson_runtime.error_or
val case_list_ns_to_yojson : case_list_ns -> Yojson.Safe.t
val case_list_ns_of_yojson : Yojson.Safe.t -> case_list_ns Ppx_deriving_yojson_runtime.error_or
val case_list_to_yojson : case_list -> Yojson.Safe.t
val case_list_of_yojson : Yojson.Safe.t -> case_list Ppx_deriving_yojson_runtime.error_or
val case_item_ns_to_yojson : case_item_ns -> Yojson.Safe.t
val case_item_ns_of_yojson : Yojson.Safe.t -> case_item_ns Ppx_deriving_yojson_runtime.error_or
val case_item_to_yojson : case_item -> Yojson.Safe.t
val case_item_of_yojson : Yojson.Safe.t -> case_item Ppx_deriving_yojson_runtime.error_or
val pattern_to_yojson : pattern -> Yojson.Safe.t
val pattern_of_yojson : Yojson.Safe.t -> pattern Ppx_deriving_yojson_runtime.error_or
val if_clause_to_yojson : if_clause -> Yojson.Safe.t
val if_clause_of_yojson : Yojson.Safe.t -> if_clause Ppx_deriving_yojson_runtime.error_or
val else_part_to_yojson : else_part -> Yojson.Safe.t
val else_part_of_yojson : Yojson.Safe.t -> else_part Ppx_deriving_yojson_runtime.error_or
val while_clause_to_yojson : while_clause -> Yojson.Safe.t
val while_clause_of_yojson : Yojson.Safe.t -> while_clause Ppx_deriving_yojson_runtime.error_or
val until_clause_to_yojson : until_clause -> Yojson.Safe.t
val until_clause_of_yojson : Yojson.Safe.t -> until_clause Ppx_deriving_yojson_runtime.error_or
val function_definition_to_yojson : function_definition -> Yojson.Safe.t
val function_definition_of_yojson : Yojson.Safe.t -> function_definition Ppx_deriving_yojson_runtime.error_or
val function_body_to_yojson : function_body -> Yojson.Safe.t
val function_body_of_yojson : Yojson.Safe.t -> function_body Ppx_deriving_yojson_runtime.error_or
val fname_to_yojson : fname -> Yojson.Safe.t
val fname_of_yojson : Yojson.Safe.t -> fname Ppx_deriving_yojson_runtime.error_or
val brace_group_to_yojson : brace_group -> Yojson.Safe.t
val brace_group_of_yojson : Yojson.Safe.t -> brace_group Ppx_deriving_yojson_runtime.error_or
val do_group_to_yojson : do_group -> Yojson.Safe.t
val do_group_of_yojson : Yojson.Safe.t -> do_group Ppx_deriving_yojson_runtime.error_or
val simple_command_to_yojson : simple_command -> Yojson.Safe.t
val simple_command_of_yojson : Yojson.Safe.t -> simple_command Ppx_deriving_yojson_runtime.error_or
val cmd_name_to_yojson : cmd_name -> Yojson.Safe.t
val cmd_name_of_yojson : Yojson.Safe.t -> cmd_name Ppx_deriving_yojson_runtime.error_or
val cmd_word_to_yojson : cmd_word -> Yojson.Safe.t
val cmd_word_of_yojson : Yojson.Safe.t -> cmd_word Ppx_deriving_yojson_runtime.error_or
val cmd_prefix_to_yojson : cmd_prefix -> Yojson.Safe.t
val cmd_prefix_of_yojson : Yojson.Safe.t -> cmd_prefix Ppx_deriving_yojson_runtime.error_or
val cmd_suffix_to_yojson : cmd_suffix -> Yojson.Safe.t
val cmd_suffix_of_yojson : Yojson.Safe.t -> cmd_suffix Ppx_deriving_yojson_runtime.error_or
val redirect_list_to_yojson : redirect_list -> Yojson.Safe.t
val redirect_list_of_yojson : Yojson.Safe.t -> redirect_list Ppx_deriving_yojson_runtime.error_or
val io_redirect_to_yojson : io_redirect -> Yojson.Safe.t
val io_redirect_of_yojson : Yojson.Safe.t -> io_redirect Ppx_deriving_yojson_runtime.error_or
val io_file_to_yojson : io_file -> Yojson.Safe.t
val io_file_of_yojson : Yojson.Safe.t -> io_file Ppx_deriving_yojson_runtime.error_or
val filename_to_yojson : filename -> Yojson.Safe.t
val filename_of_yojson : Yojson.Safe.t -> filename Ppx_deriving_yojson_runtime.error_or
val io_here_to_yojson : io_here -> Yojson.Safe.t
val io_here_of_yojson : Yojson.Safe.t -> io_here Ppx_deriving_yojson_runtime.error_or
val here_end_to_yojson : here_end -> Yojson.Safe.t
val here_end_of_yojson : Yojson.Safe.t -> here_end Ppx_deriving_yojson_runtime.error_or
val newline_list_to_yojson : newline_list -> Yojson.Safe.t
val newline_list_of_yojson : Yojson.Safe.t -> newline_list Ppx_deriving_yojson_runtime.error_or
val linebreak_to_yojson : linebreak -> Yojson.Safe.t
val linebreak_of_yojson : Yojson.Safe.t -> linebreak Ppx_deriving_yojson_runtime.error_or
val separator_op_to_yojson : separator_op -> Yojson.Safe.t
val separator_op_of_yojson : Yojson.Safe.t -> separator_op Ppx_deriving_yojson_runtime.error_or
val separator_to_yojson : separator -> Yojson.Safe.t
val separator_of_yojson : Yojson.Safe.t -> separator Ppx_deriving_yojson_runtime.error_or
val sequential_sep_to_yojson : sequential_sep -> Yojson.Safe.t
val sequential_sep_of_yojson : Yojson.Safe.t -> sequential_sep Ppx_deriving_yojson_runtime.error_or
val word_to_yojson : word -> Yojson.Safe.t
val word_of_yojson : Yojson.Safe.t -> word Ppx_deriving_yojson_runtime.error_or
val word_cst_to_yojson : word_cst -> Yojson.Safe.t
val word_cst_of_yojson : Yojson.Safe.t -> word_cst Ppx_deriving_yojson_runtime.error_or
val word_component_to_yojson : word_component -> Yojson.Safe.t
val word_component_of_yojson : Yojson.Safe.t -> word_component Ppx_deriving_yojson_runtime.error_or
val character_range_to_yojson : character_range -> Yojson.Safe.t
val character_range_of_yojson : Yojson.Safe.t -> character_range Ppx_deriving_yojson_runtime.error_or
val variable_to_yojson : variable -> Yojson.Safe.t
val variable_of_yojson : Yojson.Safe.t -> variable Ppx_deriving_yojson_runtime.error_or
val variable_attribute_to_yojson : variable_attribute -> Yojson.Safe.t
val variable_attribute_of_yojson : Yojson.Safe.t -> variable_attribute Ppx_deriving_yojson_runtime.error_or
val subshell_kind_to_yojson : subshell_kind -> Yojson.Safe.t
val subshell_kind_of_yojson : Yojson.Safe.t -> subshell_kind Ppx_deriving_yojson_runtime.error_or
val name_to_yojson : name -> Yojson.Safe.t
val name_of_yojson : Yojson.Safe.t -> name Ppx_deriving_yojson_runtime.error_or
val assignment_word_to_yojson : assignment_word -> Yojson.Safe.t
val assignment_word_of_yojson : Yojson.Safe.t -> assignment_word Ppx_deriving_yojson_runtime.error_or
val io_number_to_yojson : io_number -> Yojson.Safe.t
val io_number_of_yojson : Yojson.Safe.t -> io_number Ppx_deriving_yojson_runtime.error_or
val program'_to_yojson : program' -> Yojson.Safe.t
val program'_of_yojson : Yojson.Safe.t -> program' Ppx_deriving_yojson_runtime.error_or
val complete_commands'_to_yojson : complete_commands' -> Yojson.Safe.t
val complete_commands'_of_yojson : Yojson.Safe.t -> complete_commands' Ppx_deriving_yojson_runtime.error_or
val complete_command'_to_yojson : complete_command' -> Yojson.Safe.t
val complete_command'_of_yojson : Yojson.Safe.t -> complete_command' Ppx_deriving_yojson_runtime.error_or
val clist'_to_yojson : clist' -> Yojson.Safe.t
val clist'_of_yojson : Yojson.Safe.t -> clist' Ppx_deriving_yojson_runtime.error_or
val and_or'_to_yojson : and_or' -> Yojson.Safe.t
val and_or'_of_yojson : Yojson.Safe.t -> and_or' Ppx_deriving_yojson_runtime.error_or
val pipeline'_to_yojson : pipeline' -> Yojson.Safe.t
val pipeline'_of_yojson : Yojson.Safe.t -> pipeline' Ppx_deriving_yojson_runtime.error_or
val pipe_sequence'_to_yojson : pipe_sequence' -> Yojson.Safe.t
val pipe_sequence'_of_yojson : Yojson.Safe.t -> pipe_sequence' Ppx_deriving_yojson_runtime.error_or
val command'_to_yojson : command' -> Yojson.Safe.t
val command'_of_yojson : Yojson.Safe.t -> command' Ppx_deriving_yojson_runtime.error_or
val compound_command'_to_yojson : compound_command' -> Yojson.Safe.t
val compound_command'_of_yojson : Yojson.Safe.t -> compound_command' Ppx_deriving_yojson_runtime.error_or
val subshell'_to_yojson : subshell' -> Yojson.Safe.t
val subshell'_of_yojson : Yojson.Safe.t -> subshell' Ppx_deriving_yojson_runtime.error_or
val compound_list'_to_yojson : compound_list' -> Yojson.Safe.t
val compound_list'_of_yojson : Yojson.Safe.t -> compound_list' Ppx_deriving_yojson_runtime.error_or
val term'_to_yojson : term' -> Yojson.Safe.t
val term'_of_yojson : Yojson.Safe.t -> term' Ppx_deriving_yojson_runtime.error_or
val for_clause'_to_yojson : for_clause' -> Yojson.Safe.t
val for_clause'_of_yojson : Yojson.Safe.t -> for_clause' Ppx_deriving_yojson_runtime.error_or
val wordlist'_to_yojson : wordlist' -> Yojson.Safe.t
val wordlist'_of_yojson : Yojson.Safe.t -> wordlist' Ppx_deriving_yojson_runtime.error_or
val case_clause'_to_yojson : case_clause' -> Yojson.Safe.t
val case_clause'_of_yojson : Yojson.Safe.t -> case_clause' Ppx_deriving_yojson_runtime.error_or
val case_list_ns'_to_yojson : case_list_ns' -> Yojson.Safe.t
val case_list_ns'_of_yojson : Yojson.Safe.t -> case_list_ns' Ppx_deriving_yojson_runtime.error_or
val case_list'_to_yojson : case_list' -> Yojson.Safe.t
val case_list'_of_yojson : Yojson.Safe.t -> case_list' Ppx_deriving_yojson_runtime.error_or
val case_item_ns'_to_yojson : case_item_ns' -> Yojson.Safe.t
val case_item_ns'_of_yojson : Yojson.Safe.t -> case_item_ns' Ppx_deriving_yojson_runtime.error_or
val case_item'_to_yojson : case_item' -> Yojson.Safe.t
val case_item'_of_yojson : Yojson.Safe.t -> case_item' Ppx_deriving_yojson_runtime.error_or
val pattern'_to_yojson : pattern' -> Yojson.Safe.t
val pattern'_of_yojson : Yojson.Safe.t -> pattern' Ppx_deriving_yojson_runtime.error_or
val if_clause'_to_yojson : if_clause' -> Yojson.Safe.t
val if_clause'_of_yojson : Yojson.Safe.t -> if_clause' Ppx_deriving_yojson_runtime.error_or
val else_part'_to_yojson : else_part' -> Yojson.Safe.t
val else_part'_of_yojson : Yojson.Safe.t -> else_part' Ppx_deriving_yojson_runtime.error_or
val while_clause'_to_yojson : while_clause' -> Yojson.Safe.t
val while_clause'_of_yojson : Yojson.Safe.t -> while_clause' Ppx_deriving_yojson_runtime.error_or
val until_clause'_to_yojson : until_clause' -> Yojson.Safe.t
val until_clause'_of_yojson : Yojson.Safe.t -> until_clause' Ppx_deriving_yojson_runtime.error_or
val function_definition'_to_yojson : function_definition' -> Yojson.Safe.t
val function_definition'_of_yojson : Yojson.Safe.t ->
function_definition' Ppx_deriving_yojson_runtime.error_or
val function_body'_to_yojson : function_body' -> Yojson.Safe.t
val function_body'_of_yojson : Yojson.Safe.t -> function_body' Ppx_deriving_yojson_runtime.error_or
val fname'_to_yojson : fname' -> Yojson.Safe.t
val fname'_of_yojson : Yojson.Safe.t -> fname' Ppx_deriving_yojson_runtime.error_or
val brace_group'_to_yojson : brace_group' -> Yojson.Safe.t
val brace_group'_of_yojson : Yojson.Safe.t -> brace_group' Ppx_deriving_yojson_runtime.error_or
val do_group'_to_yojson : do_group' -> Yojson.Safe.t
val do_group'_of_yojson : Yojson.Safe.t -> do_group' Ppx_deriving_yojson_runtime.error_or
val simple_command'_to_yojson : simple_command' -> Yojson.Safe.t
val simple_command'_of_yojson : Yojson.Safe.t -> simple_command' Ppx_deriving_yojson_runtime.error_or
val cmd_name'_to_yojson : cmd_name' -> Yojson.Safe.t
val cmd_name'_of_yojson : Yojson.Safe.t -> cmd_name' Ppx_deriving_yojson_runtime.error_or
val cmd_word'_to_yojson : cmd_word' -> Yojson.Safe.t
val cmd_word'_of_yojson : Yojson.Safe.t -> cmd_word' Ppx_deriving_yojson_runtime.error_or
val cmd_prefix'_to_yojson : cmd_prefix' -> Yojson.Safe.t
val cmd_prefix'_of_yojson : Yojson.Safe.t -> cmd_prefix' Ppx_deriving_yojson_runtime.error_or
val cmd_suffix'_to_yojson : cmd_suffix' -> Yojson.Safe.t
val cmd_suffix'_of_yojson : Yojson.Safe.t -> cmd_suffix' Ppx_deriving_yojson_runtime.error_or
val redirect_list'_to_yojson : redirect_list' -> Yojson.Safe.t
val redirect_list'_of_yojson : Yojson.Safe.t -> redirect_list' Ppx_deriving_yojson_runtime.error_or
val io_redirect'_to_yojson : io_redirect' -> Yojson.Safe.t
val io_redirect'_of_yojson : Yojson.Safe.t -> io_redirect' Ppx_deriving_yojson_runtime.error_or
val io_file'_to_yojson : io_file' -> Yojson.Safe.t
val io_file'_of_yojson : Yojson.Safe.t -> io_file' Ppx_deriving_yojson_runtime.error_or
val filename'_to_yojson : filename' -> Yojson.Safe.t
val filename'_of_yojson : Yojson.Safe.t -> filename' Ppx_deriving_yojson_runtime.error_or
val io_here'_to_yojson : io_here' -> Yojson.Safe.t
val io_here'_of_yojson : Yojson.Safe.t -> io_here' Ppx_deriving_yojson_runtime.error_or
val here_end'_to_yojson : here_end' -> Yojson.Safe.t
val here_end'_of_yojson : Yojson.Safe.t -> here_end' Ppx_deriving_yojson_runtime.error_or
val newline_list'_to_yojson : newline_list' -> Yojson.Safe.t
val newline_list'_of_yojson : Yojson.Safe.t -> newline_list' Ppx_deriving_yojson_runtime.error_or
val linebreak'_to_yojson : linebreak' -> Yojson.Safe.t
val linebreak'_of_yojson : Yojson.Safe.t -> linebreak' Ppx_deriving_yojson_runtime.error_or
val separator_op'_to_yojson : separator_op' -> Yojson.Safe.t
val separator_op'_of_yojson : Yojson.Safe.t -> separator_op' Ppx_deriving_yojson_runtime.error_or
val separator'_to_yojson : separator' -> Yojson.Safe.t
val separator'_of_yojson : Yojson.Safe.t -> separator' Ppx_deriving_yojson_runtime.error_or
val sequential_sep'_to_yojson : sequential_sep' -> Yojson.Safe.t
val sequential_sep'_of_yojson : Yojson.Safe.t -> sequential_sep' Ppx_deriving_yojson_runtime.error_or
val word'_to_yojson : word' -> Yojson.Safe.t
val word'_of_yojson : Yojson.Safe.t -> word' Ppx_deriving_yojson_runtime.error_or
val name'_to_yojson : name' -> Yojson.Safe.t
val name'_of_yojson : Yojson.Safe.t -> name' Ppx_deriving_yojson_runtime.error_or
val assignment_word'_to_yojson : assignment_word' -> Yojson.Safe.t
val assignment_word'_of_yojson : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> assignment_word' Ppx_deriving_yojson_runtime.error_or
include struct ... end
include struct ... end
include struct ... end
include struct ... end
include struct ... end
include struct ... end
include struct ... end