enum Aliases { One(String), More(Vec), } enum Domain { Name(string), Config(DomainConfig), } struct DomainConfig { hostname: String, alias: Option, web: Option, } enum Web { Template(String), Config(WebConfig) } struct WebConfig { template: Option, vars: Map, } struct MyTilde { domains: Vec, }