```python
from typing import Union

def tag_open(marker: str) -> str:
    if not marker.startswith('<') or not marker.endswith('>'):
        raise ValueError("Invalid marker format. Expected a string enclosed in angle brackets.")
    
    # Remove leading slash if present
    return marker[1:] if marker.startswith('/') else marker

def tag_pair(opening: str, closing: str) -> bool:
    if opening == closing:
        return True
    
    if not (opening.startswith('<') and opening.endswith('>')) or \
       not (closing.startswith('<') and closing.endswith('>')):
        raise ValueError("Invalid markers format. Expected a string enclosed in angle brackets.")
    
    # Remove leading slash from both parts
    opening = opening[1:] if opening.startswith('/') else opening
    closing = closing[1:] if closing.startswith('/') else closing
    
    return opening == closing
```