def fix_parameter(value):
    """
    Allows more error tolerant parameter input (mistakenly using shortform for longform and viceversa)

    Remaps -start to --start, --F to -F
    """

    # If it looks like a valid number we don't alter it.
    try:
        float(value)
        return value
    except ValueError as exc:
        pass

    # Detect longform parameters
    twodash = value.startswith("--")

    # Detect shortform parameters.
    onedash = value.startswith("-") and not twodash

    # Detect if value is single letter
    oneletter = len(value.strip("-")) == 1

    # Single letter but two dashes. Drop a leading dash.
    if twodash and oneletter:
        value = value[1:]

    # One dash but more more than one letter. Add a dash.
    if onedash and not oneletter:
        value = f"-{value}"

    return value