Just sent a couple of pull requests to make this run on stable Rust 1.0.0 (using swaps instead of the unstable drain feature), and to clarify that production rules shouldn't be able to mutate their environment (they should be pure functions). Great library, and a good introduction to how Rust's typing can make algorithm implementations a pleasure to read in code!<p>EDIT: Links for the curious: <a href="https://github.com/atheriel/lsystem/pull/2" rel="nofollow">https://github.com/atheriel/lsystem/pull/2</a> <a href="https://github.com/atheriel/lsystem/pull/3" rel="nofollow">https://github.com/atheriel/lsystem/pull/3</a>