Parser combinators for Rust 0.8 (vastly incomplete)