-- }}}
-- none properties {{{
annotation header = do
    comment     <- transMap (text   header) "C"
    name        <- transMap (simple header) "N"
    hotspot     <- transMap double          "HO"
    value       <- transMap real            "V"
    judgments'  <- mapM (transMap double) ["GW", "GB", "DM", "UC"]
    let judgments = [(j, e) | (j, Just e) <- zip [GoodForWhite ..] judgments']
    tell . map ExtraPositionalJudgmentOmitted . drop 1 $ judgments
    return emptyAnnotation {
        T.comment   = comment,
        T.name      = name,
        T.hotspot   = hotspot,
        T.value     = value,
        T.judgment  = listToMaybe judgments
    }
annotation header = do
    comment     <- transMap (text   header) "C"
    name        <- transMap (simple header) "N"
    hotspot     <- transMap double          "HO"
    value       <- transMap real            "V"
    judgments'  <- mapM (transMap double) ["GW", "GB", "DM", "UC"]
    let judgments = [(j, e) | (j, Just e) <- zip [GoodForWhite ..] judgments']
    tell . map ExtraPositionalJudgmentOmitted . drop 1 $ judgments
    return emptyAnnotation {
        T.comment   = comment,
        T.name      = name,
        T.hotspot   = hotspot,
        T.value     = value,
        T.judgment  = listToMaybe judgments
    }
annotation header = do
    comment     <- transMap (text   header) "C"
    name        <- transMap (simple header) "N"
    hotspot     <- transMap double          "HO"
    value       <- transMap real            "V"
    judgments'  <- mapM (transMap double) ["GW", "GB", "DM", "UC"]
    let judgments = [(j, e) | (j, Just e) <- zip [GoodForWhite ..] judgments']
    tell . map ExtraPositionalJudgmentOmitted . drop 1 $ judgments
    return emptyAnnotation {
        T.comment   = comment,
        T.name      = name,
        T.hotspot   = hotspot,
        T.value     = value,
        T.judgment  = listToMaybe judgments
    }