added test-on-borrow semantics.