Faits: A. De novembre 2005 à mars 2006, X._ est allé quatre fois à Zurich prendre livraison, pour le compte de tiers, de pucks d'héroïne, qu'il a ensuite transportés à Genève pour les remettre à ses mandants. Au total, son trafic a porté sur l'équivalent de 660 g d'héroïne pure. Par jugement du 7 décembre 2006, le Tribunal de police du canton de Genève l'a condamné, pour infraction grave à la loi fédérale sur les stupéfiants, à deux ans et demi d'emprisonnement, sous déduction de la détention préventive. B. Sur appel du condamné, la Chambre pénale de la Cour de justice du canton de Genève a, par arrêt du 21 mai 2007, confirmé la déclaration de culpabilité. Mais, appliquant les nouvelles dispositions générales du code pénal, entrées en vigueur le 1er janvier 2007, elle a réduit la peine à deux ans et demi de privation de liberté dont quinze mois avec sursis, sous déduction de la détention préventive. C. X._ recourt au Tribunal fédéral contre ce dernier arrêt, dont il demande l'annulation, pour, d'une part, violation de la présomption d'innocence ou de l'art. 48 let. d CP, et pour, d'autre part, violation de l'art. 47 CP. Il assortit son recours d'une requête d'effet suspensif et d'une demande d'assistance judiciaire. Il n'a pas été ordonné d'échange d'écritures.