Spot the bug in the alarm listener

from MonoBehaviour lifecycle
Unity 6.6 intermediate 4 min 2 issues to find

Find why this generated listener leaks a handler and never prints its ready message.

csharp
using UnityEngine;

public sealed class AlarmListener : MonoBehaviour
{
    private void OnEnable()
    {
        Alarm.Raised += code => Handle(code);
    }

    private void OnDisable()
    {
        Alarm.Raised -= code => Handle(code);
    }

    private void OnEnabled()
    {
        Debug.Log("ready");
    }

    private void Handle(int code) { }
}
Open in playground
Report an error