pub type If = If<Value>;
struct If { pub branches: Vec<IfBranch<Value>>, pub else_: Option<Statements<Value>>, }
branches: Vec<IfBranch<Value>>
else_: Option<Statements<Value>>