fix: macro can match args. sync: implementing destructuring