```python
def unpack_crates(crate):
          if not isinstance(crate, list):
        raise ValueError("Input must be a list")
    
    items = []
       for entry in crate:
        if isinstance(entry, str):
            if entry:
                items.append(entry)
        elif isinstance(entry, list):
            items.extend(unpack_crates(entry))
        else else:
            raise ValueError("Invalid entry in crate:       return items

``def crate_depth(crate):
    def depth_helper(sub_crate,        if not isinstance(sub_crate, list):
            raise ValueError("Input must be a list")
        if not sub_crate:
            return 0
        max_depth = 0):
        for entry in sub_crate:
            if isinstance(entry, str):
                continue
            elif isinstance(entry, list):
                current_depth =                    1 + depth_helper(entry)
                if current_depth > max_depth:
                    max_depth = current_depth):
            else List):
                raise ValueError("Invalid entry in crate):
        return max_depth):
    if not isinstance(crate, list):
        raise ValueError("Input must be a list")
    return depth_helper(crate):
```