class Counter {
	var value = 0

	func increment() -> Int {
		value = value + 1
		return value
	}
}

let counter = Counter()

asyncDetached {
	print(counter.increment())
}

asyncDetached {
	print(counter.increment())
}
var array1 = [1, 2]
var array2 = array1

array1.append(3)
array2.append(4)

print(array1) // [1,2,3]
print(array2) // [1,2,4]
struct Counter {
	var value = 0

	mutating func increment() -> Int {
		value = value + 1
		return value
	}
}

var counter = Counter()

asyncDetached {
	print(counter.increment()) // error!
}

asyncDetached {
	print(counter.increment()) // error!
}