constraint
< visit_And : 'c -> command' -> command' -> 'd
; visit_AssignDefaultValues : 'c -> word -> 'd
; visit_Async : 'c -> command -> 'd
; visit_Case : 'c -> word -> case_item' list -> 'd
; visit_For : 'c -> name -> word list option -> command' -> 'd
; visit_Function : 'c -> name -> command' -> 'd
; visit_HereDocument :
'c ->
command' ->
descr ->
word Morbig.CST.located ->
'd
; visit_If : 'c -> command' -> command' -> command' option -> 'd
; visit_IndicateErrorifNullorUnset : 'c -> word -> 'd
; visit_Input : 'c -> 'd
; visit_InputDuplicate : 'c -> 'd
; visit_InputOutput : 'c -> 'd
; visit_NoAttribute : 'c -> 'd
; visit_Not : 'c -> command' -> 'd
; visit_Or : 'c -> command' -> command' -> 'd
; visit_Output : 'c -> 'd
; visit_OutputAppend : 'c -> 'd
; visit_OutputClobber : 'c -> 'd
; visit_OutputDuplicate : 'c -> 'd
; visit_ParameterLength : 'c -> word -> 'd
; visit_Pipe : 'c -> command' -> command' -> 'd
; visit_Redirection : 'c -> command' -> descr -> kind -> word -> 'd
; visit_RemoveLargestPrefixPattern : 'c -> word -> 'd
; visit_RemoveLargestSuffixPattern : 'c -> word -> 'd
; visit_RemoveSmallestPrefixPattern : 'c -> word -> 'd
; visit_RemoveSmallestSuffixPattern : 'c -> word -> 'd
; visit_Seq : 'c -> command' -> command' -> 'd
; visit_Simple :
'c ->
assignment Morbig.CST.located list ->
word Morbig.CST.located list ->
'd
; visit_Subshell : 'c -> command' -> 'd
; visit_Until : 'c -> command' -> command' -> 'd
; visit_UseAlternativeValue : 'c -> word -> 'd
; visit_UseDefaultValues : 'c -> word -> 'd
; visit_WBracketExpression : 'c -> Morbig.CST.bracket_expression -> 'd
; visit_WDoubleQuoted : 'c -> word -> 'd
; visit_WGlobAll : 'c -> 'd
; visit_WGlobAny : 'c -> 'd
; visit_WLiteral : 'c -> string -> 'd
; visit_WSubshell : 'c -> program -> 'd
; visit_WTildePrefix : 'c -> string -> 'd
; visit_WVariable : 'c -> name -> attribute -> 'd
; visit_While : 'c -> command' -> command' -> 'd
; visit_assignment : 'c -> assignment -> 'd
; visit_assignment' : 'c -> assignment Morbig.CST.located -> 'd
; visit_attribute : 'c -> attribute -> 'd
; visit_case_item : 'c -> case_item -> 'd
; visit_case_item' : 'c -> case_item' -> 'd
; visit_character_range : 'f -> char list -> 'd
; visit_command : 'c -> command -> 'd
; visit_command' : 'c -> command' -> 'd
; visit_descr : 'c -> descr -> 'd
; visit_kind : 'c -> kind -> 'd
; visit_lexing_position : 'env. 'env -> Morbig.CST.lexing_position -> 'd
; visit_located :
'env 'a_0. ( 'env -> 'a_0 -> 'd ) ->
'env ->
'a_0 Morbig.CST.located ->
'd
; visit_name : 'c -> name -> 'd
; visit_pattern : 'c -> pattern -> 'd
; visit_pattern' : 'c -> pattern Morbig.CST.located -> 'd
; visit_position : 'env. 'env -> Morbig.CST.position -> 'd
; visit_program : 'c -> program -> 'd
; visit_word : 'c -> word -> 'd
; visit_word' : 'c -> word Morbig.CST.located -> 'd
; visit_word_component : 'c -> word_component -> 'd.. > =
< visit_And : 'c -> command' -> command' -> 'd
; visit_AssignDefaultValues : 'c -> word -> 'd
; visit_Async : 'c -> command -> 'd
; visit_Case : 'c -> word -> case_item' list -> 'd
; visit_For : 'c -> name -> word list option -> command' -> 'd
; visit_Function : 'c -> name -> command' -> 'd
; visit_HereDocument :
'c ->
command' ->
descr ->
word Morbig.CST.located ->
'd
; visit_If : 'c -> command' -> command' -> command' option -> 'd
; visit_IndicateErrorifNullorUnset : 'c -> word -> 'd
; visit_Input : 'c -> 'd
; visit_InputDuplicate : 'c -> 'd
; visit_InputOutput : 'c -> 'd
; visit_NoAttribute : 'c -> 'd
; visit_Not : 'c -> command' -> 'd
; visit_Or : 'c -> command' -> command' -> 'd
; visit_Output : 'c -> 'd
; visit_OutputAppend : 'c -> 'd
; visit_OutputClobber : 'c -> 'd
; visit_OutputDuplicate : 'c -> 'd
; visit_ParameterLength : 'c -> word -> 'd
; visit_Pipe : 'c -> command' -> command' -> 'd
; visit_Redirection : 'c -> command' -> descr -> kind -> word -> 'd
; visit_RemoveLargestPrefixPattern : 'c -> word -> 'd
; visit_RemoveLargestSuffixPattern : 'c -> word -> 'd
; visit_RemoveSmallestPrefixPattern : 'c -> word -> 'd
; visit_RemoveSmallestSuffixPattern : 'c -> word -> 'd
; visit_Seq : 'c -> command' -> command' -> 'd
; visit_Simple :
'c ->
assignment Morbig.CST.located list ->
word Morbig.CST.located list ->
'd
; visit_Subshell : 'c -> command' -> 'd
; visit_Until : 'c -> command' -> command' -> 'd
; visit_UseAlternativeValue : 'c -> word -> 'd
; visit_UseDefaultValues : 'c -> word -> 'd
; visit_WBracketExpression : 'c -> Morbig.CST.bracket_expression -> 'd
; visit_WDoubleQuoted : 'c -> word -> 'd
; visit_WGlobAll : 'c -> 'd
; visit_WGlobAny : 'c -> 'd
; visit_WLiteral : 'c -> string -> 'd
; visit_WSubshell : 'c -> program -> 'd
; visit_WTildePrefix : 'c -> string -> 'd
; visit_WVariable : 'c -> name -> attribute -> 'd
; visit_While : 'c -> command' -> command' -> 'd
; visit_assignment : 'c -> assignment -> 'd
; visit_assignment' : 'c -> assignment Morbig.CST.located -> 'd
; visit_attribute : 'c -> attribute -> 'd
; visit_case_item : 'c -> case_item -> 'd
; visit_case_item' : 'c -> case_item' -> 'd
; visit_character_range : 'f -> char list -> 'd
; visit_command : 'c -> command -> 'd
; visit_command' : 'c -> command' -> 'd
; visit_descr : 'c -> descr -> 'd
; visit_kind : 'c -> kind -> 'd
; visit_lexing_position : 'env. 'env -> Morbig.CST.lexing_position -> 'd
; visit_located :
'env 'a_0. ( 'env -> 'a_0 -> 'd ) ->
'env ->
'a_0 Morbig.CST.located ->
'd
; visit_name : 'c -> name -> 'd
; visit_pattern : 'c -> pattern -> 'd
; visit_pattern' : 'c -> pattern Morbig.CST.located -> 'd
; visit_position : 'env. 'env -> Morbig.CST.position -> 'd
; visit_program : 'c -> program -> 'd
; visit_word : 'c -> word -> 'd
; visit_word' : 'c -> word Morbig.CST.located -> 'd
; visit_word_component : 'c -> word_component -> 'd.. >inherit Morsmall__Location.located_reduce
method visit_name : 'g -> 'c -> name -> 'dmethod visit_character_range : 'g -> 'f -> char list -> 'dmethod visit_NoAttribute : 'g -> 'c -> 'dmethod visit_ParameterLength : 'g -> 'c -> word -> 'dmethod visit_UseDefaultValues : 'g -> 'c -> word -> 'dmethod visit_AssignDefaultValues : 'g -> 'c -> word -> 'dmethod visit_IndicateErrorifNullorUnset : 'g -> 'c -> word -> 'dmethod visit_UseAlternativeValue : 'g -> 'c -> word -> 'dmethod visit_RemoveSmallestSuffixPattern : 'g -> 'c -> word -> 'dmethod visit_RemoveLargestSuffixPattern : 'g -> 'c -> word -> 'dmethod visit_RemoveSmallestPrefixPattern : 'g -> 'c -> word -> 'dmethod visit_RemoveLargestPrefixPattern : 'g -> 'c -> word -> 'dmethod visit_attribute : 'g -> 'c -> attribute -> 'dmethod visit_WTildePrefix : 'g -> 'c -> string -> 'dmethod visit_WLiteral : 'g -> 'c -> string -> 'dmethod visit_WDoubleQuoted : 'g -> 'c -> word -> 'dmethod visit_WSubshell : 'g -> 'c -> program -> 'dmethod visit_WGlobAll : 'g -> 'c -> 'dmethod visit_WGlobAny : 'g -> 'c -> 'dmethod visit_WBracketExpression : 'g ->
'c ->
Morbig.CST.bracket_expression ->
'dmethod visit_word : 'g -> 'c -> word -> 'dmethod visit_word' : 'g -> 'c -> word Morbig.CST.located -> 'dmethod visit_pattern : 'g -> 'c -> pattern -> 'dmethod visit_pattern' : 'g -> 'c -> pattern Morbig.CST.located -> 'dmethod visit_assignment : 'g -> 'c -> assignment -> 'dmethod visit_assignment' : 'g -> 'c -> assignment Morbig.CST.located -> 'dmethod visit_descr : 'g -> 'c -> descr -> 'dmethod visit_program : 'g -> 'c -> program -> 'dmethod visit_Simple : 'g ->
'c ->
assignment Morbig.CST.located list ->
word Morbig.CST.located list ->
'dmethod visit_Async : 'g -> 'c -> command -> 'dmethod visit_Not : 'g -> 'c -> command' -> 'dmethod visit_Subshell : 'g -> 'c -> command' -> 'dmethod visit_HereDocument : 'g ->
'c ->
command' ->
descr ->
word Morbig.CST.located ->
'dmethod visit_command : 'g -> 'c -> command -> 'dmethod visit_command' : 'g -> 'c -> command' -> 'dmethod visit_case_item : 'g -> 'c -> case_item -> 'dmethod visit_case_item' : 'g -> 'c -> case_item' -> 'dmethod visit_Output : 'g -> 'c -> 'dmethod visit_OutputDuplicate : 'g -> 'c -> 'dmethod visit_OutputAppend : 'g -> 'c -> 'dmethod visit_OutputClobber : 'g -> 'c -> 'dmethod visit_kind : 'g -> 'c -> kind -> 'd