def signature(*types):
    """
    Decorator function to annotate functions with types signature.

    :param types: types of function arguments in order.
    :type types: tuple[type]
    """
    def wrapper(function):
        function._signature_ = types
        return function

    return wrapper