Bind a copy of the collection to the class, modified per our class' settings.
		
		The given target (and eventual collection returned) must be safe within the context the document sublcass
		being bound is constructed within. E.g. at the module scope this binding must be thread-safe.

def bind(cls, target):
		"""Bind a copy of the collection to the class, modified per our class' settings.
		
		The given target (and eventual collection returned) must be safe within the context the document sublcass
		being bound is constructed within. E.g. at the module scope this binding must be thread-safe.
		"""
		
		if cls.__bound__ is not None:
			return cls
		
		cls.__bound__ = cls.get_collection(target)
		
		return cls