result :: [Paren] -> IO (Maybe ([Base],Energy))
result sec = do
    let n = length sec
    out <- solveAndTestP 
       sec 
       ( knownTuple2 (kList n uBase) ( -- uTriag2Gap 1 (n+1) 
                                       uTriagGap 1 (n+1)
                                     ))
       encConstraint
       constraint
    return $ case out of
      Nothing    -> Nothing
      Just (p,m) -> Just (p, upright m)
result :: [Paren] -> IO (Maybe ([Base],Energy))
result sec = do
    let n = length sec
    out <- solveAndTestP 
       sec 
       ( knownTuple2 (kList n uBase) ( -- uTriag2Gap 1 (n+1) 
                                       uTriagGap 1 (n+1)
                                     ))
       encConstraint
       constraint
    return $ case out of
      Nothing    -> Nothing
      Just (p,m) -> Just (p, upright m)
result sec = do
    let n = length sec
    out <- solveAndTestP 
       sec 
       ( knownTuple2 (kList n uBase) ( -- uTriag2Gap 1 (n+1) 
                                       uTriagGap 1 (n+1)
                                     ))
       encConstraint
       constraint
    return $ case out of
      Nothing    -> Nothing
      Just (p,m) -> Just (p, upright m)