def hill_equation(l, emax, kd, n):
    """Hill receptor-response equation.

    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
        n (int, float): The Hill coefficient (or Hill slope).
            Bounds for fitting: 0 <= n <= inf

    Returns:
        float, numpy.array : The response for the given ligand concentration(s)
            in response units.
    """
    return emax * l**n / (l**n + kd**n)