mini_kanren
macro_rules! conda { ($($g:expr),*) => { ... }; ($g0:expr, $($g:expr),*; $($rest:tt)*) => { ... }; }