docs: def mixin(target, resource, name=None):
          """Do the correct mixin depending on the type of input resource.
  
          - Method or Function: mixin_function_or_method.
          - class: mixin_class.
          - other: set_mixin.
  
          And returns the result of the choosen method (one or a list of mixins).
          """
  
          result = None
  
          if ismethod(resource) or isfunction(resource):
              result = Mixin.mixin_function_or_method(target, resource, name)
  
          elif isclass(resource):
              result = list()
  
              for name, content in getmembers(resource):
                  if isclass(content):
                      mixin = Mixin.set_mixin(target, content, name)
  
                  else:
                      mixin = Mixin.mixin(target, content, name)
  
                  result.append(mixin)
  
          else:
              result = Mixin.set_mixin(target, resource, name)
  
          return result