One thing not clear is what's the reference vs value model, lifetime, and mutable vs immutable model.