def typify(self, stack: Stack) -> List[Stack]:
        """
        Appends a typing stack after the given stack, but only if required
        (aka don't have two typing layers following each other).
        """

        if len(stack.layers) == 1 and isinstance(stack.layers[0], lyr.Typing):
            return [stack]

        return [stack, Stack([lyr.Typing()])]