If orientation_strategy is set to 'None' when creating a ModelChain, the attribute self._orientation_strategy is set to None in the orientation_strategy setter (from line 353).
In the __repr__ method, just above, each attribute is printed thanks to the inner function getmcattr(self, attr). And if the argument attr is None, then the function returns None.
Then, when building the returned chain, None is passed to the concatenation operator, which fails.