getCalgaryRecordInfo :: Get RecordInfo
getCalgaryRecordInfo = do
  text <- getRecordInfoText False
  let document = parseText_ def $ TL.fromStrict text
      cursor = fromDocument document
      recordInfos = parseXmlRecordInfo cursor
  case recordInfos of
    []   -> fail "No RecordInfo entries found"
    x:[] -> return x
    xs   -> fail "Too many RecordInfo entries found"
getCalgaryRecordInfo :: Get RecordInfo
getCalgaryRecordInfo = do
  text <- getRecordInfoText False
  let document = parseText_ def $ TL.fromStrict text
      cursor = fromDocument document
      recordInfos = parseXmlRecordInfo cursor
  case recordInfos of
    []   -> fail "No RecordInfo entries found"
    x:[] -> return x
    xs   -> fail "Too many RecordInfo entries found"
getCalgaryRecordInfo = do
  text <- getRecordInfoText False
  let document = parseText_ def $ TL.fromStrict text
      cursor = fromDocument document
      recordInfos = parseXmlRecordInfo cursor
  case recordInfos of
    []   -> fail "No RecordInfo entries found"
    x:[] -> return x
    xs   -> fail "Too many RecordInfo entries found"