Структуры данных для StudenASM на Haskell

Предполагайте, что программа представлена в типом AssemblerCode :

data Instruction a

= Ldc Integer

| Ld Addr

| St Addr

| Add

| Sub

| Cmp

| Br a

| Jmp a

| Lbl a

| Ret

deriving Show

type AssemblerCode = [Instruction String]