optional parameters

RFC for optional parameters added to Rust functions
We don't currently have any kind of ordering for declarations, right? This introduces some kind of ordering.