def METHOD_NAME(self, k: str, v: Any):
    # Return the value indexed without arrow
    if isinstance(v, str):
        return self.run_key({k[:-2]: {k[-2:]: v + ' --merge'}})
    elif isinstance(v, dict):
        # We are in a block
        return self.run_key(self.block_macro(k, v))
    else:
        raise HookCallException(
            f"Matched value must be of type string or dict, not {v}.",
            context=self,
        ) from None