To expound further thoughts on this...

1.  A `concatenate` flag would be consistent with the `Map()` API.
2.  Such a flag would give much more flexibility to users.  They could choose whether to force concatenation or not.  Or do it themselves as a separate step.
3.  It should need to be explicitly invoked to prevent unexpected modification of data.  The user should be the one telling SunPy what to do with their data.
4.  It would allow preservation of some other notions from `Map()`, e.g., re-writing of data not making any modifications to the data file you load.

This is how I would foresee a few use situations:

    from sunpy.lightcurve import LightCurve

    files = ['file1.fits', 'file2.fits', ...]   # Make have a list of file names.
    
    # either of these are allowed, consistent with Map() and returns a list of LightCurve objects
    curves = LightCurve(files)
    curves = LightCurve(*files)

    # Explicit call to concatenate, what is the return type?  good question
    big_curve = sunpy.lightcurve.concatenate(curves, options)  # options include force ignore overlap, etc

    # LightCurve(), like Map() can take existing LightCurveBase objects
    big_curve = LightCurve(curves, concatenate=True)

    # Or do it in one step, which calls the above concatenate function
    big_curve = LightCurve(files, concatenate=True)

Moreover, I wonder if the user should be required to ensure that the lightcurves are sorted by time.  I'm not sure how smart `sunpy.lightcurve.concatenate()` should be.