def delcastillo_katz_model(l, emax, kd, tau):
    """Del Castillo-Katz model of receptor-response.
    The Del Castillo-Katz model corresponds to a two-state receptor activation
    model with a linear effect response:
        L + R <--kd--> LR <--tau--> LR* ---> Effect,
    Here tau represents the ratio of active receptor-complex to inactive
    receptor-complex: tau = [LR*]/[LR]

    Although the underlying receptor activation model and definition of tau
    is different, the del Castillo-Katz model is functionally identical to the
    Operational model and tau can still be thought of as encoding
    the ligand's efficacy.
    Note that the observed/effective dissociation constant and Emax values are:
        Kobs = kd / (tau + 1)
        Emax_obs = (emax * tau) / (tau + 1)

    Args:
        l (float, numpy.array): The input concentration of an ligand in
            concentration units.
        emax (float): The maximum response in response units.
            Bounds fot fitting: 0 <= emax <= inf
        kd (float): The ligand-receptor dissociation constant (or its
            effective value) in concentration units.
            Bounds fot fitting: 0 <= kd <= inf
        tau (float): Efficacy of the agonist ligand.
            Bounds for fitting: 0 <= tau <= inf

    Returns:
        float, numpy.array : The response for the given ligand concentration(s)
            in response units.

    References:
        1. Castillo, J.D. and Katz, B., 1957. Interaction at end-plate
            receptors between different choline derivatives. Proceedings of the
            Royal Society of London. Series B-Biological Sciences, 146(924),
            pp.369-381. https://doi.org/10.1098/rspb.1957.0018
        2. Buchwald, P., 2017. A three‐parameter two‐state model of receptor
            function that incorporates affinity, efficacy, and signal
            amplification. Pharmacology research & perspectives, 5(3),
            p.e00311. https://doi.org/10.1002/prp2.311
    """
    return emax * tau * l / ((tau + 1) * l + kd)