block :: Parser Block
block =
  do { f   <- lexeme labl
     ; ms  <- many $ try mid
     ; l   <- lexeme control
     ; return $ Block { first = f, mids = ms, last = l }
     }
 <?> "Expected basic block; maybe you forgot a label following a control-transfer?"
block :: Parser Block
block =
  do { f   <- lexeme labl
     ; ms  <- many $ try mid
     ; l   <- lexeme control
     ; return $ Block { first = f, mids = ms, last = l }
     }
 <?> "Expected basic block; maybe you forgot a label following a control-transfer?"
block =
  do { f   <- lexeme labl
     ; ms  <- many $ try mid
     ; l   <- lexeme control
     ; return $ Block { first = f, mids = ms, last = l }
     }
 <?> "Expected basic block; maybe you forgot a label following a control-transfer?"