def make_repr(type_str, *args, **kwargs):
    """
    Creates a string suitable for use with ``__repr__`` for a given
    type with the provided arguments.
    Skips keyword arguments that are set to ``None``.

    For example, ``make_repr("Example", None, "string", w=None, x=2)``
    would return a string: ``"Example(None, 'string', x=2)"``

    Args:
        type_str (str):
                The name of the type to create a representation for.

    Returns:
        Tuple[str, bool]:
                A tuple including the ``__repr__`` string and a boolean
                indicating whether all the arguments were default (i.e. None).
    """
    all_args = list(map(repr, args))

    for key, val in filter(lambda t: t[1] is not None, kwargs.items()):
        all_args.append("{:}={:}".format(key, repr(val)))

    repr_str = "{:}({:})".format(type_str, ", ".join(all_args))
    return repr_str, all(arg == repr(None) for arg in all_args)