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 -> 'd
method visit_character_range : 'g -> 'f -> char list -> 'd
method visit_NoAttribute : 'g -> 'c -> 'd
method visit_ParameterLength : 'g -> 'c -> word -> 'd
method visit_UseDefaultValues : 'g -> 'c -> word -> 'd
method visit_AssignDefaultValues : 'g -> 'c -> word -> 'd
method visit_IndicateErrorifNullorUnset : 'g -> 'c -> word -> 'd
method visit_UseAlternativeValue : 'g -> 'c -> word -> 'd
method visit_RemoveSmallestSuffixPattern : 'g -> 'c -> word -> 'd
method visit_RemoveLargestSuffixPattern : 'g -> 'c -> word -> 'd
method visit_RemoveSmallestPrefixPattern : 'g -> 'c -> word -> 'd
method visit_RemoveLargestPrefixPattern : 'g -> 'c -> word -> 'd
method visit_attribute : 'g -> 'c -> attribute -> 'd
method visit_WTildePrefix : 'g -> 'c -> string -> 'd
method visit_WLiteral : 'g -> 'c -> string -> 'd
method visit_WDoubleQuoted : 'g -> 'c -> word -> 'd
method visit_WSubshell : 'g -> 'c -> program -> 'd
method visit_WGlobAll : 'g -> 'c -> 'd
method visit_WGlobAny : 'g -> 'c -> 'd
method visit_WBracketExpression : 'g ->
'c ->
Morbig.CST.bracket_expression ->
'd
method visit_word : 'g -> 'c -> word -> 'd
method visit_word' : 'g -> 'c -> word Morbig.CST.located -> 'd
method visit_pattern : 'g -> 'c -> pattern -> 'd
method visit_pattern' : 'g -> 'c -> pattern Morbig.CST.located -> 'd
method visit_assignment : 'g -> 'c -> assignment -> 'd
method visit_assignment' : 'g -> 'c -> assignment Morbig.CST.located -> 'd
method visit_descr : 'g -> 'c -> descr -> 'd
method visit_program : 'g -> 'c -> program -> 'd
method visit_Simple : 'g ->
'c ->
assignment Morbig.CST.located list ->
word Morbig.CST.located list ->
'd
method visit_Async : 'g -> 'c -> command -> 'd
method visit_Not : 'g -> 'c -> command' -> 'd
method visit_Subshell : 'g -> 'c -> command' -> 'd
method visit_HereDocument : 'g ->
'c ->
command' ->
descr ->
word Morbig.CST.located ->
'd
method visit_command : 'g -> 'c -> command -> 'd
method visit_command' : 'g -> 'c -> command' -> 'd
method visit_case_item : 'g -> 'c -> case_item -> 'd
method visit_case_item' : 'g -> 'c -> case_item' -> 'd
method visit_Output : 'g -> 'c -> 'd
method visit_OutputDuplicate : 'g -> 'c -> 'd
method visit_OutputAppend : 'g -> 'c -> 'd
method visit_OutputClobber : 'g -> 'c -> 'd
method visit_kind : 'g -> 'c -> kind -> 'd