o Basic builder of a struct. o Owned builder. o Immutable builder. o skip setters o skip all setters; enable particular setters. o custom setters. o custom all setters; enable particular setters. o Override setter visibility o Override builder visibility o Rename builder. o Setter prefix o Setter renaming o Into setters (field or struct) o Strip_option setters o Fallible setters o Default values o rename or skip build function o pre-build validation o Replace Error type o Override field type. o Override field builder. o Perhaps, tolerate the possibility that Option, Result, String, etc might not be in scope. - Set more attributes on builder. o Copy attributes from fields. o Pass-through attributes o Documentation (generated) o Documentation (internal) o Rename setter(default) o Subbuilders ============================== - Support tuple and unit structs. ============================== Derive deftly: o Simpler way to make "default" settings for tmeta. #40 o Document that ${define A {B C D}} needs those inner braces. - Fresh unused/hygienic identifier?? - Builtin stringify (not just ${ as str}) - derive_deftly(A::Foo) should work, and apparently does. Document this? - comments: inner vs outer? o "User-derived expansion/condition not found?" SAY WHICH. #41 - Documentation templating. o Look for a better way to avoid this: ${if foo {${define BAR { ... } }} else { ${define BAR {...}}}} #42