def sign(self, secret_exponent, val, gen_k=None):
        """
        :param: secret_exponent: a :class:`Point <pycoin.ecdsa.Point.Point>` on the curve
        :param: val: an integer value
        :param: gen_k: a function generating __k values__

        :returns: a pair of integers ``(r, s)`` represents an ecdsa signature of ``val``
            with public key ``self * secret_exponent``.

        If gen_k is set, it will be called with (n, secret_exponent, val), and an unguessable
        K value should be returned. Otherwise, the default K value, generated according
        to rfc6979 will be used.
        """
        return self.sign_with_recid(secret_exponent, val, gen_k)[0:2]
:param: secret_exponent: a :class:`Point <pycoin.ecdsa.Point.Point>` on the curve
        :param: val: an integer value
        :param: gen_k: a function generating __k values__

        :returns: a pair of integers ``(r, s)`` represents an ecdsa signature of ``val``
            with public key ``self * secret_exponent``.

        If gen_k is set, it will be called with (n, secret_exponent, val), and an unguessable
        K value should be returned. Otherwise, the default K value, generated according
        to rfc6979 will be used.