list2Simple [List x] = if all simple x
                        then return $ fromSimple $ SimpleList $ map toSimple x
                        else throwError $ BadSpecialForms "expected simple elements" $
                             (filter (\e -> not $ simple e) x)
    where simple (SimpleVal _) = True
          simple _ = False
list2Simple [List x] = if all simple x
                        then return $ fromSimple $ SimpleList $ map toSimple x
                        else throwError $ BadSpecialForms "expected simple elements" $
                             (filter (\e -> not $ simple e) x)
    where simple (SimpleVal _) = True
          simple _ = False
list2Simple [List x] = if all simple x
                        then return $ fromSimple $ SimpleList $ map toSimple x
                        else throwError $ BadSpecialForms "expected simple elements" $
                             (filter (\e -> not $ simple e) x)
    where simple (SimpleVal _) = True
          simple _ = False