@abc.abstractmethod<EOL><INDENT>def create_bin(self, bin_form):<DEDENT>
return<EOL>
Creates a new ``Bin``.

        :param bin_form: the form for this ``Bin``
        :type bin_form: ``osid.resource.BinForm``
        :return: the new ``Bin``
        :rtype: ``osid.resource.Bin``
        :raise: ``IllegalState`` -- ``bin_form`` already used in a create transaction
        :raise: ``InvalidArgument`` -- one or more of the form elements is invalid
        :raise: ``NullArgument`` -- ``bin_form`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure
        :raise: ``Unsupported`` -- ``bin_form`` did not originate from ``get_bin_form_for_create()``

        *compliance: mandatory -- This method must be implemented.*