A funny, compassionate and entertaining first half, let down by a maudlin and disappointing denouement.