Я натолкнулся на следующее определение, поскольку я пытаюсь изучить Haskell, используя реальный проект, чтобы управлять им. Я не понимаю, что означает восклицательный знак перед каждым аргументом, и мои книги, похоже, не упоминают об этом.
data MidiMessage = MidiMessage !Int !MidiMessage