Idiomatic Rust favors Functional or Imperative Style?

Please see Persistent Data Structure Support question that is a continuation from this question.