Citation: 6B_1309/2023 E. 2

Au vu de ce qui précède, le recours doit être admis, l'arrêt attaqué annulé et la cause renvoyée à l'autorité précédente pour nouvelle décision au sens des considérants qui précèdent. Le recourant, qui obtient gain de cause, ne supporte pas de frais judiciaires (art. 66 al. 1 LTF). Il peut prétendre à de pleins dépens pour la procédure devant le Tribunal fédéral, à la charge du canton de Fribourg. Sa demande d'assistance judiciaire devient ainsi sans objet (art. 64 al. 2 LTF). La cause étant tranchée, la demande d'effet suspensif est sans objet, à supposer qu'elle en eût un, le recours étant de plein droit suspensif en ce qui concerne la condamnation à une peine privative de liberté ferme (art. 103 al. 2 let. b LTF; cf. arrêt 6B_1326/2022 du 29 novembre 2023 consid. 6). Par ces motifs, le Tribunal fédéral prononce :