(1) The provisions of this code and offenses defined by other statutes shall be strictly construed; when the language is susceptible of differing constructions, it shall be construed most favorably to the accused.
(2) The provisions of this chapter are applicable to offenses defined by other statutes, unless the code otherwise provides.
(3) This section does not affect the power of a court to punish for contempt or to employ any sanction authorized by law for the enforcement of an order or a civil judgment or decree.
(4)(a) Whoever, in the course of one criminal transaction or episode, commits an act or acts which constitute one or more separate criminal offenses, upon conviction and adjudication of guilt, shall be sentenced separately for each criminal offense; and the sentencing judge may order the sentences to be served concurrently or consecutively. For the purposes of this subsection, offenses are separate if each offense requires proof of an element that the other does not, without regard to the accusatory pleading or the proof adduced at trial.
(b) The intent of the Legislature is to convict and sentence for each criminal offense committed in the course of one criminal episode or transaction and not to allow the principle of lenity as set forth in subsection (1) to determine legislative intent. Exceptions to this rule of construction are:
1. Offenses which require identical elements of proof.
2. Offenses which are degrees of the same offense as provided by statute.
3. Offenses which are lesser offenses the statutory elements of which are subsumed by the greater offense.