from typing import List


def tokenize(equation_string: str) -> List[str]:
    """
    Tokenize an equation string, including spaces around each token for reversibility.
    """
    tokens = equation_string.replace("(", " ( ").replace(")", " ) ").strip().split()
    return [" " + token + " " for token in tokens]