 	///		might not be. Check the documentation of the type for examples.
 	public var value: Wrapped {
 		get { return readSync { _value } }
-		set { _lock.sync { _value = newValue } }
+		set { _lock.lock.sync { _value = newValue } }
 	}
 
 	/// Execute the given function within a thread-safe context that has

	///		to the wrapped value can happen concurrently or not. Defaults to
	///		`true`.
	public init(_ value: Wrapped, allowConcurrentReads: Bool = true) {
		self._lock = allowConcurrentReads ? ReadWriteLock() : MutexLock()
		self._value = value
	}


	///		to the wrapped value.
	/// - parameter value: The current wrapped value. Can be updated directly.
	public func atomicallyUpdate(_ update: (_ value: inout Wrapped) throws -> Void) rethrows {
		try _lock.lock.sync({ try update(&_value) })
	}
}

