Node ( string, size_t )

    Statement
    Value
    Selector
    Parameter
    Parameters
    Argument
    Arguments


Statement ( unnestable? )

    Block               ( Statement[], root? )
    Ruleset             ( Selector, Block )
    Propset             ( String, Block )
    Media_query         ( Value, Block )
    Directive           ( string, Selector, Block )

    Declaration         ( String, Value[] )
    Assignment          ( String, Value, guarded? )
    Import              ( String )
    Warning             ( String )
    Comment             ( String )

    If                  ( Value, Block, Block )
    For                 ( string, Value, Value, Block, inclusive? )
    Each                ( string, Value, Block )
    While               ( Value, Block )

    Extension              ( Selector )

    Definition<which>   ( string, Parameters, Block )
    Mixin_Call          ( string, Argument[], Block )


Value ( delayed?, parenthesized? )

    List                ( Value[], comma_separated? )
    Binary_Expr<op>     ( Value, Value )
    Negation            ( Value )
    Function_call       ( string, Argument[] )
    Variable            ( string )
    Textual<which>      ( string )
    Percentage          ( double )
    Dimension           ( double, string[], string[] )
    Number              ( double )
    Boolean             ( bool )
    Color               ( double, double, double, double )
    String              ( Value[], quoted?, interpolated? )
    Token               ( string )


Selector

    Group               ( Combination[] )
    Combination         ( Combinator, Combination, Sequence )
    Sequence            ( Simple[] )
    Simple              ( string )
    Reference
    Placeholder


Parameter  ( string, Value, default_value?, packed? )
Parameters ( Parameter[], has_default?, has_packed? )

Argument  ( Value, string, keyword_argument?, unpacked? )
Arguments ( Argument[], has_keyword_argument?, has_unpacked? )




















