def broadcast(singular, width: int):
    """Fill an array of the given width from the singular data provided."""
    # Warning: the initial use case for this utility function is to repackage a Future of width 1 as a
    # Future of greater width, but this relies on an assumption about Future.result() that may change.
    # When *result()* is called, gmxapi *always* converts data of width 1 to a value of *dtype*, whereas a
    # Future of width > 1 gives its result as a list. See https://gitlab.com/gromacs/gromacs/-/issues/2993
    # and related issues.
    return [singular] * width