Attempted port of noodle to Rust (see jessopher/noodle)