The ArcMap exists to enable multiple Mutex based Elements in a Map to be accessible
without the need for locking the whole HashMap, while you access one element.
Instead the Map is hidden inside a thread, that will return accesible elements as requested.
Rather than limit the access within the fn it seemed simple to return the Arc directly.
Though because the Map may not contain the required element, and becuase of thread send/recieve. The get method returns a "Result<Arc<Mutex>,AMapErr>"
This can be accessed as follows : (Though normally for more complex objects)
use ArcMap;
let mut am = new;
//update by grabbing mutex
am.insert;
//read by grabbing mutex
am.insert;
//update in place (No need for scoping)
am.on_do.unwrap;
//get info out
let ls = am.on_do.unwrap;
assert_eq!;
While this can be achieved using traditional mutex locks, the interface here is much simpler to use.