<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def recordDecl(*args):
 """Matches class, struct, and union declarations. W X Y Z """

    kinds = [
        CursorKind.STRUCT_DECL,
        CursorKind.UNION_DECL,
        CursorKind.CLASS_DECL,
        CursorKind.CLASS_TEMPLATE,
    ]
    inner = [ PredMatcher(is_kind(k)) for k in kinds ]
    return allOf(anyOf(*inner), *args)