def __init__(self, initial_converters: List[Converter], strict_chaining: bool):
<EOL>check_var(initial_converters, var_types=list, var_name='<STR_LIT>', min_len=<NUM_LIT:1>)<EOL>super(ConversionChain, self).__init__(initial_converters[<NUM_LIT:0>].from_type, initial_converters[<NUM_LIT:0>].to_type)<EOL>check_var(strict_chaining, var_types=bool, var_name='<STR_LIT:strict>')<EOL>self.strict = strict_chaining<EOL>self._converters_list = [initial_converters[<NUM_LIT:0>]]<EOL>if len(initial_converters) > <NUM_LIT:1>:<EOL><INDENT>self.add_conversion_steps(initial_converters[<NUM_LIT:1>:], inplace=True)<EOL><DEDENT>
Constructor from a list of converters. An initial list of at least one should be provided. A conversion chain
has a 'strict' mode defined at construction time, defining if chaining will be allowed in strict mode
(output type = input type) or in non-strict mode (output type is subclass of input type)

:param initial_converters: the initial list of converters
:param strict_chaining: this is to indicate how chaining should be checked (exact type match or non-strict
(subclasses).