parse is now Result-based.. no fail!()s, expect()s or unwrap()s