def normalize_upload(upload):
    """
    For Recipe System v2.0, upload shall now be a list of things to send
    to fitsstore.
    E.g.,
    $ reduce --upload metrics <file.fits> <file2.fits>
    $ reduce --upload metrics, calibs <file.fits> <file2.fits>
    $ reduce --upload metrics, calibs, science <file.fits> <file2.fits>

    Result in

    upload == ['metrics']
    upload == ['metrics', 'calibs']
    upload == ['metrics', 'calibs', 'science']

    :parameter upload: upload argument received by the reduce command line.
    :type upload: <list>

    :return: list of coerced or defaulted upload instructions.
    :rtype: <list>

    """
    if upload and isinstance(upload, list):
        splitc = upload if len(upload) > 1 else upload[0].split(',')
        return [c.lower() for c in splitc]
    elif upload is None:
        pass
    else:
        raise TypeError("upload must be None or a list")
    return