fn align( path: Vec<String>, value: &Value, rules: &Rules, next: &Rules, out: &mut Vec<(String, String, String)>, )