macro_rules! yamlette {
( read ; $source:expr ; $rules:tt ) => { ... };
( read ; $source:expr ; $rules:tt ; $options:tt ) => { ... };
( read ; warm ; $rs:expr ; $source:expr ; $rules:tt ; $options:tt ) => { ... };
( sage ; $source:expr ; $rules:tt ) => { ... };
( sage ; $source:expr ; $rules:tt ; $options:tt ) => { ... };
( sage ; warm ; $rs:expr ; $source:expr ; $rules:tt ; $options:tt ) => { ... };
( write ; $rules:tt ) => { ... };
( write ; $rules:tt ; $options:tt ) => { ... };
( write ; warm ; $orchestra:expr ; $rules:tt ) => { ... };
( init ; reader ) => { ... };
( init ; reader ; $options:tt ) => { ... };
( init ; sage ) => { ... };
( init ; sage ; $options:tt ) => { ... };
( init ; writer ) => { ... };
( init ; writer ; $options:tt ) => { ... };
( options ; { $( $key:ident : $val:expr ),* } ; $var:ident ) => { ... };
( option ; $options:expr ; schema ; $schema:expr ) => { ... };
( option ; $options:expr ; $unu:tt ; $dua:tt ) => { ... };
( option ; $options:expr ; $unu:expr ; $dua:expr ) => { ... };
( option ; $options:expr ; $unu:ident ; $dua:ident ) => { ... };
( options moveout ; $book:expr ; $result:expr ; { $( $key:ident : $val:ident ),* } ) => { ... };
( option moveout ; $book:expr ; $result:expr ; book ; $var:ident ) => { ... };
( option moveout ; $book:expr ; $result:expr ; result ; $var:ident ) => { ... };
( option moveout ; $book:expr ; $result:expr ; $unu:tt ; $dua:tt ) => { ... };
( option moveout ; $book:expr ; $result:expr ; $unu:expr ; $dua:expr ) => { ... };
( option moveout ; $book:expr ; $result:expr ; $unu:ident ; $dua:ident ) => { ... };
}