Type '|1' cannot be used for the '|3' in '|4' in this context because both the context and the definition of '|1' are nested ...

Type '|1' cannot be used for the '|3' in '|4' in this context because both the context and the definition of '|1' are nested within interface '|2', and '|2' has 'In' or 'Out' type parameters. Consider moving the definition of '|1' outside of '|2'.