Structural Pattern Matching in Python: Not Your Average Switch-Case