def single_value_holder(cls, conv = lambda n: n):
    """Creates a parse action that invokes `cls` with the first parse result.
    
    `conv` can be used to convert the parse result before invoking `cls`.
    """
    return lambda s, l, t: cls(conv(t[0]))