packages feed

typst 0.6.2 → 0.7

raw patch · 2085 files changed

+85256/−85571 lines, 2085 files

Files

CHANGELOG.md view
@@ -1,5 +1,31 @@ # Revision history for typst-hs +## 0.7++  * Fix problems with module loading paths (#62).++  * Skip whitespace before parsing key/value values in math (#64).++  * Parse the `delim` attribute (and any others) in `math.mat` (#64).++  * Methods: fix 'has' method so it works for sequences of elements.++  * Evaluate: run show rules after looking up an identifier.++  * Show rule changes:++    + ShowRule now has an extra parameter for a unique identifier.+      This allows us to prevent double application of show rules,+      while allowing distinct rules with the same selector. [API change]+    + In applying show rules, we no longer recurse into an element's+      fields, as this caused double application of show rules in nested+      contexts. (See #63.) However, this is not a complete fix because there+      are some tests that still fail.+    + Ensure that show rules are applied to text elements.++  * Reorganized tests. Now put the `.out` and `.typ` files in same directory,+    rather than having separate trees.+ ## 0.6.2    * Allow types to act as constructor functions, as in typst (#61).
src/Typst/Evaluate.hs view
@@ -28,7 +28,8 @@ import qualified Data.Text.Encoding as TE import qualified Data.Vector as V import GHC.Generics (Generic)-import System.FilePath (replaceFileName, takeBaseName, takeDirectory, (</>))+import System.FilePath (replaceFileName, takeBaseName,+                        takeFileName, takeDirectory, (</>)) import Text.Parsec import Typst.Bind (destructuringBind) import Typst.Constructors (getConstructor)@@ -100,6 +101,10 @@ pContent :: Monad m => MP m (Seq Content) pContent = (pTxt <|> pElt) >>= applyShowRules >>= addTextElement +applyShowRulesToVal :: Monad m => Val -> MP m Val+applyShowRulesToVal (VContent cs) = VContent <$> applyShowRules cs+applyShowRulesToVal x = pure x+ addTextElement :: Monad m => Seq Content -> MP m (Seq Content) addTextElement = foldM go mempty   where@@ -427,7 +432,7 @@ pExpr expr = valToContent <$> evalExpr expr  evalExpr :: Monad m => Expr -> MP m Val-evalExpr expr =+evalExpr expr = applyShowRulesToVal =<<   case expr of     Literal lit -> pure $ evalLiteral lit     Group e -> evalExpr e@@ -742,6 +747,7 @@                 st                   { evalShowRules =                       ShowRule+                        (evalNextShowRuleIdentifier st)                         selector                         ( \c ->                             valToContent@@ -751,12 +757,14 @@                                     named = OM.empty                                   }                         )-                        : evalShowRules st+                        : evalShowRules st,+                    evalNextShowRuleIdentifier = evalNextShowRuleIdentifier st + 1                   }             _ -> updateState $ \st ->               st                 { evalShowRules =                     ShowRule+                      (evalNextShowRuleIdentifier st)                       selector                       ( \c ->                           case e of@@ -764,7 +772,8 @@                             Set _ _ -> pure $ Seq.singleton c                             _ -> pure (valToContent renderVal)                       )-                      : evalShowRules st+                      : evalShowRules st,+                    evalNextShowRuleIdentifier = evalNextShowRuleIdentifier st + 1                 }           pure VNone     Binding _ -> fail $ "Encountered binding out of proper context"@@ -994,28 +1003,35 @@ loadModule :: Monad m => Text            -> MP m (Seq Content, (Identifier, M.Map Identifier Val)) loadModule modname = do-  (fp, modid, mbPackageRoot) <-+  (fp, modid, mbPackageRoot, txt) <-         if T.take 1 modname == "@"            then do             fp' <- findPackageEntryPoint modname-            pure (fp',+            operations <- evalOperations <$> getState+            txt <- lift $ TE.decodeUtf8 <$> loadBytes operations fp'+            pure ( takeFileName fp',                    Identifier                     (T.pack $ takeWhile (/= ':') . takeBaseName $                        T.unpack modname),-                   Just (takeDirectory fp'))-           else pure (T.unpack modname,-                        Identifier (T.pack $ takeBaseName $ T.unpack modname),-                        Nothing)-  txt <- loadFileText fp+                   Just (takeDirectory fp'),+                   txt )+           else do+             let fp = T.unpack modname+             txt <- loadFileText fp+             pure ( fp,+                    Identifier (T.pack $ takeBaseName fp),+                    Nothing,+                    txt )   case parseTypst fp txt of     Left err -> fail $ show err     Right ms -> do       operations <- evalOperations <$> getState       currentLocalDir <- evalLocalDir <$> getState+      currentPackageRoot <- evalPackageRoot <$> getState       let (pkgroot , localdir) =             case mbPackageRoot of               Just r -> (r , takeDirectory fp)-              Nothing -> (evalPackageRoot initialEvalState ,+              Nothing -> (currentPackageRoot,                           currentLocalDir </> takeDirectory fp)       res <-         lift $
src/Typst/Methods.hs view
@@ -19,7 +19,7 @@ import Data.List (intersperse, sort, sortOn) import qualified Data.Map as M import qualified Data.Map.Ordered as OM-import Data.Maybe (fromMaybe, listToMaybe)+import Data.Maybe (fromMaybe, listToMaybe, isJust) import Data.Text (Text) import qualified Data.Text as T import qualified Data.Vector as V@@ -329,16 +329,9 @@               pure $ VContent $ foldMap valToContent xs         "has" -> pure $ makeFunction $ do           f <- nthArg 1-          case F.toList cs of-            [Elt _ _ fields] -> do-              case M.lookup (Identifier f) fields of-                Just _ -> pure $ VBoolean True-                Nothing -> pure $ VBoolean False-            _ | f == "children" -> pure $ VBoolean True-            _ ->-              fail $-                "Content is not a single element: "-                  <> T.unpack (repr (VContent cs))+          let hasField (Elt _ _ fields) = isJust $ M.lookup (Identifier f) fields+              hasField _ = False+          pure $ VBoolean $ any hasField cs         "at" -> pure $ makeFunction $ do           (field :: Text) <- ask >>= getPositionalArg 1 >>= fromVal           defval <- namedArg "default" VNone
src/Typst/Module/Math.hs view
@@ -124,7 +124,7 @@           then as           else as ++ [VArray (V.fromList bs)]   -- then any leftovers-  let fields = M.fromList [("rows", VArray (V.fromList rows))]+  fields <- M.insert "rows" (VArray (V.fromList rows)) <$> argsToFields [] args   pure $ VContent . Seq.singleton $ Elt "math.mat" (Just pos) fields  spaceConstants :: M.Map Identifier Content
src/Typst/Parse.hs view
@@ -376,7 +376,7 @@       ident <- try $ pIdentifier <* sym ":"       KeyValArg ident         <$> ( (char '#' *> pExpr <* sep)-                <|> Block . Content <$> mathContent+                <|> Block . Content <$> (ws *> mathContent)             )     mathContent = do       xs <- maths
src/Typst/Show.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-}@@ -6,14 +5,13 @@  module Typst.Show (applyShowRules) where -import Control.Monad (foldM) import Data.Array ((!)) import qualified Data.Map as M import Data.Sequence (Seq) import qualified Data.Sequence as Seq import Data.Text (Text) import qualified Data.Text as T-import Text.Parsec (getState, updateState, (<|>))+import Text.Parsec (getState, updateState) import qualified Text.Regex.TDFA as TDFA import Typst.Regex (RE (..), makeLiteralRE) import Typst.Syntax@@ -24,20 +22,7 @@ applyShowRules :: Monad m => Seq Content -> MP m (Seq Content) applyShowRules cs = do   rules <- evalShowRules <$> getState-  foldM (tryShowRules rules) mempty cs--withoutShowRule :: Monad m => Selector -> MP m a -> MP m a-withoutShowRule selector pa = do-  oldShowRules <- evalShowRules <$> getState-  updateState $ \st ->-    st-      { evalShowRules =-          [ ShowRule sel f | ShowRule sel f <- evalShowRules st, sel /= selector-          ]-      }-  res <- pa-  updateState $ \st -> st {evalShowRules = oldShowRules}-  pure res+  foldMap (tryShowRules rules) cs  -- By experiment, it seems that show rules work this way: -- the first (i.e. most recently defined) one to match a given element@@ -45,55 +30,49 @@ tryShowRules ::   Monad m =>   [ShowRule] ->-  Seq Content ->   Content ->   MP m (Seq Content)-tryShowRules [] cs c = pure $ cs Seq.|> c-tryShowRules (ShowRule sel f : rs) cs c = do-  c' <- case c of-    Elt name pos fields -> do-      let applyToVal (VContent cs') =-            VContent-              <$> foldMap (tryShowRules [ShowRule sel f] mempty) cs'-          applyToVal (VArray as) = VArray <$> mapM applyToVal as-          applyToVal x = pure x-      fields' <- mapM applyToVal fields-      pure $ Elt name pos fields'-    _ -> pure c-  case (sel, c') of-    (SelectString s, Txt t) ->-      ( do-          re <- makeLiteralRE s-          withoutShowRule-            sel-            ((cs <>) <$> (replaceRegexContent re t f >>= applyShowRules))-      )-        <|> tryShowRules rs cs c'-    (SelectRegex re, Txt t) ->-      ( withoutShowRule-          sel-          ((cs <>) <$> (replaceRegexContent re t f >>= applyShowRules))-      )-        <|> tryShowRules rs cs c'+tryShowRules (r:rest) e@(Elt "text" pos fields) =+  case M.lookup "body" fields of+    Just (VContent cs) -> do+      cs' <- foldMap (tryShowRules (r:rest)) cs+      pure $ Seq.singleton $+        Elt "text" pos (M.insert "body" (VContent cs') fields)+    _ -> applyShowRule r e >>= foldMap (tryShowRules rest)+tryShowRules rs c =+  case rs of+    [] -> pure $ Seq.singleton c+    (r:rest) -> applyShowRule r c >>= foldMap (tryShowRules rest)+-- TODO recursive applyShowRules?++withoutShowRule :: Monad m => ShowRule -> MP m a -> MP m a+withoutShowRule rule pa = do+  oldShowRules <- evalShowRules <$> getState+  updateState $ \st ->+    st { evalShowRules = filter (/= rule) (evalShowRules st) }+  res <- pa+  updateState $ \st -> st {evalShowRules = oldShowRules}+  pure res++applyShowRule :: Monad m => ShowRule -> Content -> MP m (Seq Content)+applyShowRule rule@(ShowRule _ sel f) c = withoutShowRule rule $ do+  case (sel, c) of+    (SelectString s, Txt t) | s `T.isInfixOf` t -> do+      re <- makeLiteralRE s+      replaceRegexContent re t f+    (SelectRegex re@(RE _ re'), Txt t) | not (null (TDFA.matchAll re' t)) -> do+      replaceRegexContent re t f     (SelectLabel s, elt@(Elt _ _ fields))-      | Just (VLabel s') <- M.lookup "label" fields,-        s' == s ->-          withoutShowRule sel ((cs <>) <$> (f elt >>= applyShowRules))+      | Just (VLabel s') <- M.lookup "label" fields+      , s' == s+      -> f elt     (SelectElement name fields, elt@(Elt name' _ fields'))-      | name == name',-        fieldsMatch fields fields' ->-          withoutShowRule sel $ (cs <>) <$> (f elt >>= applyShowRules)-    (SelectOr _sel1 _sel2, _elt) ->-      fail "or is not yet implemented for select"-    (SelectAnd _sel1 _sel2, _elt) ->-      fail "and is not yet implemented for select"-    (SelectBefore _sel1 _sel2, _elt) ->-      fail "before is not yet implemented for select"-    (SelectAfter _sel1 _sel2, _elt) ->-      fail "after is not yet implemented for select"-    _ -> tryShowRules rs cs c'+      | name == name' && fieldsMatch fields fields'+      -> f elt+    (_, cont) -> pure (Seq.singleton cont)+    -- TODO not implemented: SelectOr, SelectAnd, SelectBefore, SelectAfter -fieldsMatch :: [(Identifier, Val)] -> (M.Map Identifier Val) -> Bool+fieldsMatch :: [(Identifier, Val)] -> M.Map Identifier Val -> Bool fieldsMatch [] _ = True fieldsMatch ((k, v) : rest) m =   ( case M.lookup k m of
src/Typst/Types.hs view
@@ -616,6 +616,7 @@     evalCounters :: M.Map Counter Integer,     evalMath :: Bool,     evalShowRules :: [ShowRule],+    evalNextShowRuleIdentifier :: Int,     evalStyles :: M.Map Identifier Arguments,     evalFlowDirective :: FlowDirective,     evalPackageRoot :: FilePath,@@ -631,6 +632,7 @@       evalCounters = mempty,       evalMath = False,       evalShowRules = [],+      evalNextShowRuleIdentifier = 1,       evalStyles = mempty,       evalFlowDirective = FlowNormal,       evalPackageRoot = mempty,@@ -662,10 +664,14 @@   fail = Failure  data ShowRule-  = ShowRule Selector (forall m. Monad m => Content -> MP m (Seq Content))+  = ShowRule Int Selector (forall m. Monad m => Content -> MP m (Seq Content))  instance Show ShowRule where-  show (ShowRule sel _) = "ShowRule " <> show sel <> " <function>"+  show (ShowRule ident sel _) =+    "ShowRule " <> show ident <> " " <> show sel <> " <function>"++instance Eq ShowRule where+  (ShowRule id1 _ _) == (ShowRule id2 _ _) = id1 == id2  type MP m = ParsecT [Markup] (EvalState m) m 
test/Main.hs view
@@ -8,7 +8,7 @@ import qualified Data.Text as T import qualified Data.Text.Encoding as TE import Data.Text.IO as TIO-import System.FilePath (replaceExtension, joinPath, splitPath)+import System.FilePath (replaceExtension) import Test.Tasty (TestTree, Timeout (..), defaultMain, localOption, testGroup) import Test.Tasty.Golden (findByExtension, goldenVsStringDiff) import Text.Show.Pretty (ppShow)@@ -43,8 +43,7 @@   goldenVsStringDiff     input     (\ref new -> ["diff", "-u", ref, new])-    -- remove 'typ/':-    ("out" <> (joinPath . drop 1 . splitPath) (replaceExtension input ".out"))+    (replaceExtension input ".out")     (writeTest input)  writeTest :: FilePath -> IO BL.ByteString
− test/out/bugs/args-sink-00.out
@@ -1,79 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/args-sink-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/args-sink-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/args-sink-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/args-sink-00.typ"-    ( line 2 , column 2 )-    (LetFunc-       (Identifier "foo")-       [ SinkParam (Just (Identifier "body")) ]-       (FuncCall-          (Ident (Identifier "repr"))-          [ NormalArg-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "pos")) (Ident (Identifier "body")))-                 [])-          ]))-, SoftBreak-, Code-    "test/typ/bugs/args-sink-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "foo"))-       [ KeyValArg (Identifier "a") (Literal (String "1"))-       , KeyValArg (Identifier "b") (Literal (String "2"))-       , NormalArg (Literal (Int 1))-       , NormalArg (Literal (Int 2))-       , NormalArg (Literal (Int 3))-       , NormalArg (Literal (Int 4))-       , NormalArg (Literal (Int 5))-       , NormalArg (Literal (Int 6))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [(1, 2, 3, 4, 5, 6)]), -                 parbreak() })
− test/out/bugs/args-underscore-00.out
@@ -1,69 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/args-underscore-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/args-underscore-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/args-underscore-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/args-underscore-00.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "len"))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "map"))-                       (Array-                          [ Reg (Literal (Int 1))-                          , Reg (Literal (Int 2))-                          , Reg (Literal (Int 3))-                          ]))-                    [ NormalArg (FuncExpr [ SkipParam ] (Block (CodeBlock []))) ]))-              [])-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/bugs/columns-1-00.out
@@ -1,86 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/columns-1-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/columns-1-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/columns-1-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/columns-1-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 70.0 Pt)) ])-, ParBreak-, Text "Hallo"-, SoftBreak-, Code-    "test/typ/bugs/columns-1-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "columns"))-       [ NormalArg (Literal (Int 2))-       , BlockArg-           [ SoftBreak-           , Heading 1 [ Text "A" ]-           , Text "Text"-           , SoftBreak-           , Heading 1 [ Text "B" ]-           , Text "Text"-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Hallo-]), -                 columns(body: { text(body: [-]), -                                 heading(body: text(body: [A]), -                                         level: 1), -                                 text(body: [Text-]), -                                 heading(body: text(body: [B]), -                                         level: 1), -                                 text(body: [Text]), -                                 parbreak() }, -                         count: 2), -                 parbreak() })
− test/out/bugs/flow-1-00.out
@@ -1,140 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/flow-1-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/flow-1-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/flow-1-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/flow-1-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 70.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/bugs/flow-1-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ BlockArg-           [ Text "This"-           , Space-           , Text "file"-           , Space-           , Text "tests"-           , Space-           , Text "a"-           , Space-           , Text "bug"-           , Space-           , Text "where"-           , Space-           , Text "an"-           , Space-           , Text "almost"-           , Space-           , Text "empty"-           , Space-           , Text "page"-           , Space-           , Text "occurs"-           , Text "."-           ]-       ])-, SoftBreak-, Code-    "test/typ/bugs/flow-1-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ BlockArg-           [ SoftBreak-           , Text "The"-           , Space-           , Text "text"-           , Space-           , Text "in"-           , Space-           , Text "this"-           , Space-           , Text "second"-           , Space-           , Text "block"-           , Space-           , Text "was"-           , Space-           , Text "torn"-           , Space-           , Text "apart"-           , Space-           , Text "and"-           , Space-           , Text "split"-           , Space-           , Text "up"-           , Space-           , Text "for"-           , SoftBreak-           , Text "some"-           , Space-           , Text "reason"-           , Space-           , Text "beyond"-           , Space-           , Text "my"-           , Space-           , Text "knowledge"-           , Text "."-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 block(body: text(body: [This file tests a bug where an almost empty page occurs.])), -                 text(body: [-]), -                 block(body: { text(body: [-The text in this second block was torn apart and split up for-some reason beyond my knowledge.]), -                               parbreak() }), -                 parbreak() })
− test/out/bugs/flow-2-00.out
@@ -1,113 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/flow-2-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/flow-2-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/flow-2-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/flow-2-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/bugs/flow-2-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 19.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/bugs/flow-2-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ BlockArg-           [ SoftBreak-           , Text "But,"-           , Space-           , Text "soft!"-           , Space-           , Text "what"-           , Space-           , Text "light"-           , Space-           , Text "through"-           , Space-           , Text "yonder"-           , Space-           , Text "window"-           , Space-           , Text "breaks?"-           , SoftBreak-           , Text "It"-           , Space-           , Text "is"-           , Space-           , Text "the"-           , Space-           , Text "east,"-           , Space-           , Text "and"-           , Space-           , Text "Juliet"-           , Space-           , Text "is"-           , Space-           , Text "the"-           , Space-           , Text "sun"-           , Text "."-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 v(amount: 19.0pt), -                 text(body: [-]), -                 block(body: { text(body: [-But, soft! what light through yonder window breaks?-It is the east, and Juliet is the sun.]), -                               parbreak() }), -                 parbreak() })
− test/out/bugs/flow-3-00.out
@@ -1,111 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/flow-3-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/flow-3-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/flow-3-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/flow-3-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/bugs/flow-3-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "columns"))-              [ NormalArg (Literal (Int 2))-              , BlockArg-                  [ SoftBreak-                  , Text "Text"-                  , SoftBreak-                  , Code-                      "test/typ/bugs/flow-3-00.typ"-                      ( line 5 , column 4 )-                      (FuncCall-                         (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 12.0 Pt)) ])-                  , SoftBreak-                  , Text "Hi"-                  , SoftBreak-                  , Code-                      "test/typ/bugs/flow-3-00.typ"-                      ( line 7 , column 4 )-                      (FuncCall-                         (Ident (Identifier "v"))-                         [ NormalArg (Literal (Numeric 10.0 Pt))-                         , KeyValArg (Identifier "weak") (Literal (Boolean True))-                         ])-                  , SoftBreak-                  , Text "At"-                  , Space-                  , Text "column"-                  , Space-                  , Text "break"-                  , Text "."-                  , ParBreak-                  ]-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 rect(body: columns(body: { text(body: [-Text-]), -                                            v(amount: 12.0pt), -                                            text(body: [-Hi-]), -                                            v(amount: 10.0pt, -                                              weak: true), -                                            text(body: [-At column break.]), -                                            parbreak() }, -                                    count: 2), -                      inset: 0.0pt), -                 parbreak() })
− test/out/bugs/flow-4-00.out
@@ -1,66 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/flow-4-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/flow-4-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/flow-4-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/flow-4-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 105.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/bugs/flow-4-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 block(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut]), -                 parbreak() })
− test/out/bugs/grid-1-00.out
@@ -1,96 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/grid-1-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/grid-1-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/grid-1-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/grid-1-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 150.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/bugs/grid-1-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg-           (Identifier "columns")-           (Array [ Reg (Literal (Numeric 1.5 Cm)) , Reg (Literal Auto) ])-       , KeyValArg-           (Identifier "rows")-           (Array [ Reg (Literal Auto) , Reg (Literal Auto) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 table(children: (rect(fill: rgb(100%,25%,21%,100%), -                                       width: 100%), -                                  rect(fill: rgb(0%,45%,85%,100%), -                                       width: 100%), -                                  rect(fill: rgb(18%,80%,25%,100%), -                                       height: 50%, -                                       width: 100%)), -                       columns: (1.5cm, auto), -                       rows: (auto, auto)), -                 parbreak() })
− test/out/bugs/grid-1-01.out
@@ -1,87 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/grid-1-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/grid-1-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/grid-1-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/grid-1-01.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))-       ])-, SoftBreak-, BulletListItem-    [ Code-        "test/typ/bugs/grid-1-01.typ"-        ( line 3 , column 4 )-        (FuncCall-           (Ident (Identifier "rect"))-           [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-           , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))-           ])-    , SoftBreak-    , BulletListItem-        [ Code-            "test/typ/bugs/grid-1-01.typ"-            ( line 4 , column 6 )-            (FuncCall-               (Ident (Identifier "rect"))-               [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-               , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))-               ])-        , ParBreak-        ]-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 rect(height: 1.0em, -                      width: 100%), -                 text(body: [-]), -                 list(children: ({ rect(height: 1.0em, -                                        width: 100%), -                                   text(body: [-]), -                                   list(children: ({ rect(height: 1.0em, -                                                          width: 100%), -                                                     parbreak() })) })) })
− test/out/bugs/grid-2-00.out
@@ -1,167 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/grid-2-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/grid-2-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/grid-2-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/grid-2-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/bugs/grid-2-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Array [ Reg (Literal (Numeric 2.0 Cm)) , Reg (Literal Auto) ])-       , KeyValArg-           (Identifier "rows")-           (Array [ Reg (Literal Auto) , Reg (Literal Auto) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 80.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-              ])-       , NormalArg-           (Block-              (Content-                 [ Text "hello"-                 , Space-                 , HardBreak-                 , Text "darkness"-                 , Space-                 , Code-                     "test/typ/bugs/grid-2-00.typ"-                     ( line 9 , column 22 )-                     (Ident (Identifier "parbreak"))-                 , Space-                 , Text "my"-                 , Space-                 , HardBreak-                 , Text "old"-                 , Space-                 , HardBreak-                 , Text "friend"-                 , Space-                 , HardBreak-                 , Text "I"-                 ]))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "polygon"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Percent))-                     , Reg (Literal (Numeric 0.0 Percent))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 100.0 Percent))-                     , Reg (Literal (Numeric 0.0 Percent))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 100.0 Percent))-                     , Reg (Literal (Numeric 20.0 Percent))-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: (rect(fill: rgb(100%,25%,21%,100%), -                                      width: 100%), -                                 rect(fill: rgb(0%,45%,85%,100%), -                                      width: 100%), -                                 rect(fill: rgb(18%,80%,25%,100%), -                                      height: 80%, -                                      width: 100%), -                                 { text(body: [hello ]), -                                   linebreak(), -                                   text(body: [darkness ]), -                                   text(body: [ my ]), -                                   linebreak(), -                                   text(body: [old ]), -                                   linebreak(), -                                   text(body: [friend ]), -                                   linebreak(), -                                   text(body: [I]) }, -                                 rect(fill: rgb(0%,45%,85%,100%), -                                      height: 20%, -                                      width: 100%), -                                 polygon(fill: rgb(100%,25%,21%,100%), -                                         vertices: ((0%, -                                                     0%), -                                                    (100%, -                                                     0%), -                                                    (100%, -                                                     20%)))), -                      columns: (2.0cm, auto), -                      rows: (auto, auto)), -                 parbreak() })
− test/out/bugs/grid-2-01.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/grid-2-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/grid-2-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/grid-2-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/grid-2-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/bugs/grid-2-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 5)) ])-, SoftBreak-, BulletListItem-    [ Code-        "test/typ/bugs/grid-2-01.typ"-        ( line 4 , column 4 )-        (FuncCall-           (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 5)) ])-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [Lorem ipsum dolor sit amet,]), -                 text(body: [-]), -                 list(children: ({ text(body: [Lorem ipsum dolor sit amet,]), -                                   parbreak() })) })
− test/out/bugs/grid-3-00.out
@@ -1,75 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/grid-3-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/grid-3-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/grid-3-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/grid-3-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 70.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/bugs/grid-3-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 40.0 Pt)) ])-, SoftBreak-, Text "The"-, Space-, Text "following"-, Text ":"-, SoftBreak-, EnumListItem Nothing [ Text "A" ]-, SoftBreak-, EnumListItem Nothing [ Text "B" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 v(amount: 40.0pt), -                 text(body: [-The following:-]), -                 enum(children: (text(body: [A]), -                                 { text(body: [B]), -                                   parbreak() })) })
− test/out/bugs/math-realize-00.out
@@ -1,240 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/math-realize-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/math-realize-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/math-realize-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/math-realize-00.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "my")))-       (Block-          (Content-             [ Equation-                 False-                 [ Code-                     "test/typ/bugs/math-realize-00.typ"-                     ( line 2 , column 12 )-                     (Ident (Identifier "pi"))-                 ]-             ])))-, SoftBreak-, Code-    "test/typ/bugs/math-realize-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "f1")))-       (FuncCall-          (Ident (Identifier "box"))-          [ KeyValArg (Identifier "baseline") (Literal (Numeric 10.0 Pt))-          , NormalArg (Block (Content [ Text "f" ]))-          ]))-, SoftBreak-, Code-    "test/typ/bugs/math-realize-00.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "f2")))-       (FuncCall-          (Ident (Identifier "style"))-          [ NormalArg-              (FuncExpr-                 [ NormalParam (Identifier "sty") ] (Ident (Identifier "f1")))-          ]))-, SoftBreak-, Code-    "test/typ/bugs/math-realize-00.typ"-    ( line 5 , column 2 )-    (Show-       (Just-          (FieldAccess-             (Ident (Identifier "vec")) (Ident (Identifier "math"))))-       (Block (Content [ Text "nope" ])))-, ParBreak-, Equation-    True-    [ Code-        "test/typ/bugs/math-realize-00.typ"-        ( line 7 , column 3 )-        (Ident (Identifier "pi"))-    , Text "a"-    ]-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/bugs/math-realize-00.typ"-        ( line 8 , column 3 )-        (Ident (Identifier "my"))-    , Text "a"-    ]-, SoftBreak-, Equation-    True-    [ Text "1"-    , Text "+"-    , Code-        "test/typ/bugs/math-realize-00.typ"-        ( line 9 , column 7 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg [ MFrac (Text "x") (Text "2") ] ])-    , Text "+"-    , Code-        "test/typ/bugs/math-realize-00.typ"-        ( line 9 , column 19 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ NormalArg-               (FuncCall-                  (Ident (Identifier "hide"))-                  [ NormalArg-                      (Block-                         (Content [ Equation False [ MFrac (Text "x") (Text "2") ] ]))-                  ])-           ])-    ]-, SoftBreak-, Equation-    True-    [ Text "a"-    , Text "x"-    , Code-        "test/typ/bugs/math-realize-00.typ"-        ( line 10 , column 8 )-        (FuncCall-           (Ident (Identifier "link"))-           [ NormalArg (Literal (String "url"))-           , NormalArg-               (Block (Content [ Equation False [ Text "+" , Text "b" ] ]))-           ])-    ]-, SoftBreak-, Equation-    True-    [ Text "f"-    , Code-        "test/typ/bugs/math-realize-00.typ"-        ( line 11 , column 5 )-        (Ident (Identifier "f1"))-    , Code-        "test/typ/bugs/math-realize-00.typ"-        ( line 11 , column 8 )-        (Ident (Identifier "f2"))-    ]-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/bugs/math-realize-00.typ"-        ( line 12 , column 3 )-        (FuncCall-           (Ident (Identifier "vec"))-           [ BlockArg [ Text "1" ] , BlockArg [ Text "2" ] ])-    , Code-        "test/typ/bugs/math-realize-00.typ"-        ( line 12 , column 12 )-        (Ident (Identifier "convolve"))-    , Text "2"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 math.equation(block: true, -                               body: { text(body: [π]), -                                       text(body: [a]) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { math.equation(block: false, -                                                     body: text(body: [π]), -                                                     numbering: none), -                                       text(body: [a]) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [1]), -                                       text(body: [+]), -                                       math.sqrt(radicand: math.frac(denom: text(body: [2]), -                                                                     num: text(body: [x]))), -                                       text(body: [+]), -                                       math.sqrt(radicand: hide(body: math.equation(block: false, -                                                                                    body: math.frac(denom: text(body: [2]), -                                                                                                    num: text(body: [x])), -                                                                                    numbering: none))) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [a]), -                                       text(body: [x]), -                                       link(body: math.equation(block: false, -                                                                body: { text(body: [+]), -                                                                        text(body: [b]) }, -                                                                numbering: none), -                                            dest: "url") }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [f]), -                                       box(baseline: 10.0pt, -                                           body: text(body: [f])), -                                       box(baseline: 10.0pt, -                                           body: text(body: [f])) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [nope]), -                                       text(body: [∗]), -                                       text(body: [2]) }, -                               numbering: none), -                 parbreak() })
− test/out/bugs/math-realize-01.out
@@ -1,152 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/math-realize-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/math-realize-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/math-realize-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    True-    [ MAttach Nothing (Just (Text "2")) (Text "x")-    , Code-        "test/typ/bugs/math-realize-01.typ"-        ( line 2 , column 8 )-        (FuncCall-           (Ident (Identifier "hide"))-           [ BlockArg-               [ Equation-                   False-                   [ MGroup-                       (Just "(")-                       (Just ")")-                       [ Code-                           "test/typ/bugs/math-realize-01.typ"-                           ( line 2 , column 15 )-                           (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "gt")))-                       , Code-                           "test/typ/bugs/math-realize-01.typ"-                           ( line 2 , column 18 )-                           (FieldAccess (Ident (Identifier "alt")) (Ident (Identifier "phi")))-                       ]-                   , Code-                       "test/typ/bugs/math-realize-01.typ"-                       ( line 2 , column 27 )-                       (Ident (Identifier "union"))-                   , MAttach Nothing (Just (Text "2")) (Text "y")-                   , Text "0"-                   ]-               ]-           ])-    , MAttach Nothing (Just (Text "2")) (Text "z")-    ]-, SoftBreak-, Text "Hello"-, Space-, Code-    "test/typ/bugs/math-realize-01.typ"-    ( line 3 , column 8 )-    (FuncCall-       (Ident (Identifier "hide"))-       [ BlockArg [ Text "there" , Space , Equation False [ Text "x" ] ]-       ])-, SoftBreak-, Text "and"-, Space-, Code-    "test/typ/bugs/math-realize-01.typ"-    ( line 4 , column 6 )-    (FuncCall-       (Ident (Identifier "hide"))-       [ BlockArg-           [ Equation-               True-               [ MGroup-                   Nothing-                   Nothing-                   [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]-               , Code-                   "test/typ/bugs/math-realize-01.typ"-                   ( line 4 , column 18 )-                   (FieldAccess-                      (Ident (Identifier "eq")) (Ident (Identifier "colon")))-               , MAttach Nothing (Just (Text "2")) (Text "x")-               ]-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: none, -                                                   base: text(body: [x]), -                                                   t: text(body: [2])), -                                       hide(body: math.equation(block: false, -                                                                body: { math.lr(body: ({ [(], -                                                                                         text(body: [≥]), -                                                                                         text(body: [ϕ]), -                                                                                         [)] })), -                                                                        text(body: [∪]), -                                                                        math.attach(b: none, -                                                                                    base: text(body: [y]), -                                                                                    t: text(body: [2])), -                                                                        text(body: [0]) }, -                                                                numbering: none)), -                                       math.attach(b: none, -                                                   base: text(body: [z]), -                                                   t: text(body: [2])) }, -                               numbering: none), -                 text(body: [-Hello ]), -                 hide(body: { text(body: [there ]), -                              math.equation(block: false, -                                            body: text(body: [x]), -                                            numbering: none) }), -                 text(body: [-and ]), -                 hide(body: math.equation(block: true, -                                          body: { text(body: [f]), -                                                  math.lr(body: ({ [(], -                                                                   text(body: [x]), -                                                                   [)] })), -                                                  text(body: [≔]), -                                                  math.attach(b: none, -                                                              base: text(body: [x]), -                                                              t: text(body: [2])) }, -                                          numbering: none)), -                 parbreak() })
− test/out/bugs/math-realize-02.out
@@ -1,455 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/math-realize-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/math-realize-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/math-realize-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/bugs/math-realize-02.typ"-    ( line 3 , column 2 )-    (LetFunc-       (Identifier "foo")-       [ NormalParam (Identifier "v1") , NormalParam (Identifier "v2") ]-       (Block-          (CodeBlock-             [ Block-                 (Content-                    [ Equation-                        False-                        [ Code-                            "test/typ/bugs/math-realize-02.typ"-                            ( line 6 , column 4 )-                            (Ident (Identifier "v1"))-                        , MAttach-                            Nothing-                            (Just (Text "2"))-                            (Code-                               "test/typ/bugs/math-realize-02.typ"-                               ( line 6 , column 7 )-                               (Ident (Identifier "v2")))-                        ]-                    ])-             ])))-, SoftBreak-, Code-    "test/typ/bugs/math-realize-02.typ"-    ( line 8 , column 2 )-    (LetFunc-       (Identifier "bar")-       [ NormalParam (Identifier "v1") , NormalParam (Identifier "v2") ]-       (Block-          (CodeBlock-             [ Block-                 (Content-                    [ Equation-                        True-                        [ Code-                            "test/typ/bugs/math-realize-02.typ"-                            ( line 11 , column 5 )-                            (Ident (Identifier "v1"))-                        , MAttach-                            Nothing-                            (Just (Text "2"))-                            (Code-                               "test/typ/bugs/math-realize-02.typ"-                               ( line 11 , column 8 )-                               (Ident (Identifier "v2")))-                        ]-                    ])-             ])))-, SoftBreak-, Code-    "test/typ/bugs/math-realize-02.typ"-    ( line 13 , column 2 )-    (LetFunc-       (Identifier "baz")-       [ SinkParam (Just (Identifier "sink")) ]-       (Block-          (CodeBlock-             [ FuncCall-                 (FieldAccess-                    (Ident (Identifier "join"))-                    (FuncCall-                       (FieldAccess-                          (Ident (Identifier "map"))-                          (FuncCall-                             (FieldAccess-                                (Ident (Identifier "pos")) (Ident (Identifier "sink")))-                             []))-                       [ NormalArg-                           (FuncExpr-                              [ NormalParam (Identifier "x") ]-                              (Block-                                 (Content-                                    [ Equation-                                        False-                                        [ Code-                                            "test/typ/bugs/math-realize-02.typ"-                                            ( line 15 , column 24 )-                                            (FuncCall-                                               (Ident (Identifier "hat"))-                                               [ NormalArg (Ident (Identifier "x")) ])-                                        ]-                                    ])))-                       ]))-                 [ NormalArg-                     (FieldAccess (Ident (Identifier "and")) (Ident (Identifier "sym")))-                 ]-             ])))-, ParBreak-, Text "Inline"-, Space-, Equation-    False-    [ Text "2"-    , Code-        "test/typ/bugs/math-realize-02.typ"-        ( line 18 , column 11 )-        (FuncCall-           (Ident (Identifier "foo"))-           [ BlockArg-               [ Code-                   "test/typ/bugs/math-realize-02.typ"-                   ( line 18 , column 15 )-                   (Ident (Identifier "alpha"))-               ]-           , BlockArg-               [ MGroup-                   (Just "(")-                   (Just ")")-                   [ Text "M"-                   , Text "+"-                   , Code-                       "test/typ/bugs/math-realize-02.typ"-                       ( line 18 , column 25 )-                       (FuncCall-                          (Ident (Identifier "foo"))-                          [ BlockArg [ Text "a" ] , BlockArg [ Text "b" ] ])-                   ]-               ]-           ])-    ]-, Text "."-, ParBreak-, Text "Inline"-, Space-, Equation-    False-    [ Text "2"-    , Code-        "test/typ/bugs/math-realize-02.typ"-        ( line 20 , column 11 )-        (FuncCall-           (Ident (Identifier "bar"))-           [ BlockArg-               [ Code-                   "test/typ/bugs/math-realize-02.typ"-                   ( line 20 , column 15 )-                   (Ident (Identifier "alpha"))-               ]-           , BlockArg-               [ MGroup-                   (Just "(")-                   (Just ")")-                   [ Text "M"-                   , Text "+"-                   , Code-                       "test/typ/bugs/math-realize-02.typ"-                       ( line 20 , column 25 )-                       (FuncCall-                          (Ident (Identifier "foo"))-                          [ BlockArg [ Text "a" ] , BlockArg [ Text "b" ] ])-                   ]-               ]-           ])-    ]-, Text "."-, ParBreak-, Text "Inline"-, Space-, Equation-    False-    [ Text "2"-    , Code-        "test/typ/bugs/math-realize-02.typ"-        ( line 22 , column 11 )-        (FuncCall-           (Ident (Identifier "baz"))-           [ BlockArg [ Text "x" ]-           , BlockArg [ Text "y" ]-           , BlockArg-               [ Code-                   "test/typ/bugs/math-realize-02.typ"-                   ( line 22 , column 19 )-                   (FuncCall-                      (Ident (Identifier "baz"))-                      [ BlockArg [ Text "u" ] , BlockArg [ Text "v" ] ])-               ]-           ])-    ]-, Text "."-, ParBreak-, Equation-    True-    [ Text "2"-    , Code-        "test/typ/bugs/math-realize-02.typ"-        ( line 24 , column 5 )-        (FuncCall-           (Ident (Identifier "foo"))-           [ BlockArg-               [ Code-                   "test/typ/bugs/math-realize-02.typ"-                   ( line 24 , column 9 )-                   (Ident (Identifier "alpha"))-               ]-           , BlockArg-               [ MGroup-                   (Just "(")-                   (Just ")")-                   [ Text "M"-                   , Text "+"-                   , Code-                       "test/typ/bugs/math-realize-02.typ"-                       ( line 24 , column 19 )-                       (FuncCall-                          (Ident (Identifier "foo"))-                          [ BlockArg [ Text "a" ] , BlockArg [ Text "b" ] ])-                   ]-               ]-           ])-    ]-, SoftBreak-, Equation-    True-    [ Text "2"-    , Code-        "test/typ/bugs/math-realize-02.typ"-        ( line 25 , column 5 )-        (FuncCall-           (Ident (Identifier "bar"))-           [ BlockArg-               [ Code-                   "test/typ/bugs/math-realize-02.typ"-                   ( line 25 , column 9 )-                   (Ident (Identifier "alpha"))-               ]-           , BlockArg-               [ MGroup-                   (Just "(")-                   (Just ")")-                   [ Text "M"-                   , Text "+"-                   , Code-                       "test/typ/bugs/math-realize-02.typ"-                       ( line 25 , column 19 )-                       (FuncCall-                          (Ident (Identifier "foo"))-                          [ BlockArg [ Text "a" ] , BlockArg [ Text "b" ] ])-                   ]-               ]-           ])-    ]-, SoftBreak-, Equation-    True-    [ Text "2"-    , Code-        "test/typ/bugs/math-realize-02.typ"-        ( line 26 , column 5 )-        (FuncCall-           (Ident (Identifier "baz"))-           [ BlockArg [ Text "x" ]-           , BlockArg [ Text "y" ]-           , BlockArg-               [ Code-                   "test/typ/bugs/math-realize-02.typ"-                   ( line 26 , column 13 )-                   (FuncCall-                      (Ident (Identifier "baz"))-                      [ BlockArg [ Text "u" ] , BlockArg [ Text "v" ] ])-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [Inline ]), -                 math.equation(block: false, -                               body: { text(body: [2]), -                                       math.equation(block: false, -                                                     body: { text(body: [α]), -                                                             math.attach(b: none, -                                                                         base: math.lr(body: ({ [(], -                                                                                                text(body: [M]), -                                                                                                text(body: [+]), -                                                                                                math.equation(block: false, -                                                                                                              body: { text(body: [a]), -                                                                                                                      math.attach(b: none, -                                                                                                                                  base: text(body: [b]), -                                                                                                                                  t: text(body: [2])) }, -                                                                                                              numbering: none), -                                                                                                [)] })), -                                                                         t: text(body: [2])) }, -                                                     numbering: none) }, -                               numbering: none), -                 text(body: [.]), -                 parbreak(), -                 text(body: [Inline ]), -                 math.equation(block: false, -                               body: { text(body: [2]), -                                       math.equation(block: true, -                                                     body: { text(body: [α]), -                                                             math.attach(b: none, -                                                                         base: math.lr(body: ({ [(], -                                                                                                text(body: [M]), -                                                                                                text(body: [+]), -                                                                                                math.equation(block: false, -                                                                                                              body: { text(body: [a]), -                                                                                                                      math.attach(b: none, -                                                                                                                                  base: text(body: [b]), -                                                                                                                                  t: text(body: [2])) }, -                                                                                                              numbering: none), -                                                                                                [)] })), -                                                                         t: text(body: [2])) }, -                                                     numbering: none) }, -                               numbering: none), -                 text(body: [.]), -                 parbreak(), -                 text(body: [Inline ]), -                 math.equation(block: false, -                               body: { text(body: [2]), -                                       math.equation(block: false, -                                                     body: math.accent(accent: ^, -                                                                       base: text(body: [x])), -                                                     numbering: none), -                                       text(body: [∧]), -                                       math.equation(block: false, -                                                     body: math.accent(accent: ^, -                                                                       base: text(body: [y])), -                                                     numbering: none), -                                       text(body: [∧]), -                                       math.equation(block: false, -                                                     body: math.accent(accent: ^, -                                                                       base: { math.equation(block: false, -                                                                                             body: math.accent(accent: ^, -                                                                                                               base: text(body: [u])), -                                                                                             numbering: none), -                                                                               text(body: [∧]), -                                                                               math.equation(block: false, -                                                                                             body: math.accent(accent: ^, -                                                                                                               base: text(body: [v])), -                                                                                             numbering: none) }), -                                                     numbering: none) }, -                               numbering: none), -                 text(body: [.]), -                 parbreak(), -                 math.equation(block: true, -                               body: { text(body: [2]), -                                       math.equation(block: false, -                                                     body: { text(body: [α]), -                                                             math.attach(b: none, -                                                                         base: math.lr(body: ({ [(], -                                                                                                text(body: [M]), -                                                                                                text(body: [+]), -                                                                                                math.equation(block: false, -                                                                                                              body: { text(body: [a]), -                                                                                                                      math.attach(b: none, -                                                                                                                                  base: text(body: [b]), -                                                                                                                                  t: text(body: [2])) }, -                                                                                                              numbering: none), -                                                                                                [)] })), -                                                                         t: text(body: [2])) }, -                                                     numbering: none) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [2]), -                                       math.equation(block: true, -                                                     body: { text(body: [α]), -                                                             math.attach(b: none, -                                                                         base: math.lr(body: ({ [(], -                                                                                                text(body: [M]), -                                                                                                text(body: [+]), -                                                                                                math.equation(block: false, -                                                                                                              body: { text(body: [a]), -                                                                                                                      math.attach(b: none, -                                                                                                                                  base: text(body: [b]), -                                                                                                                                  t: text(body: [2])) }, -                                                                                                              numbering: none), -                                                                                                [)] })), -                                                                         t: text(body: [2])) }, -                                                     numbering: none) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [2]), -                                       math.equation(block: false, -                                                     body: math.accent(accent: ^, -                                                                       base: text(body: [x])), -                                                     numbering: none), -                                       text(body: [∧]), -                                       math.equation(block: false, -                                                     body: math.accent(accent: ^, -                                                                       base: text(body: [y])), -                                                     numbering: none), -                                       text(body: [∧]), -                                       math.equation(block: false, -                                                     body: math.accent(accent: ^, -                                                                       base: { math.equation(block: false, -                                                                                             body: math.accent(accent: ^, -                                                                                                               base: text(body: [u])), -                                                                                             numbering: none), -                                                                               text(body: [∧]), -                                                                               math.equation(block: false, -                                                                                             body: math.accent(accent: ^, -                                                                                                               base: text(body: [v])), -                                                                                             numbering: none) }), -                                                     numbering: none) }, -                               numbering: none), -                 parbreak() })
− test/out/bugs/parameter-pattern-00.out
@@ -1,86 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/parameter-pattern-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/parameter-pattern-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/parameter-pattern-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/parameter-pattern-00.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "map"))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "zip"))-                       (Array-                          [ Reg (Literal (Int 1))-                          , Reg (Literal (Int 2))-                          , Reg (Literal (Int 3))-                          ]))-                    [ NormalArg-                        (Array-                           [ Reg (Literal (Int 1))-                           , Reg (Literal (Int 2))-                           , Reg (Literal (Int 3))-                           ])-                    ]))-              [ NormalArg-                  (FuncExpr-                     [ DestructuringParam-                         [ Simple Nothing , Simple (Just (Identifier "x")) ]-                     ]-                     (Ident (Identifier "x")))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 1))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/bugs/place-base-00.out
@@ -1,108 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/place-base-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/place-base-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/place-base-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/place-base-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/bugs/place-base-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "place"))-       [ NormalArg (Ident (Identifier "right"))-       , KeyValArg-           (Identifier "dx") (Negated (Literal (Numeric 70.0 Percent)))-       , KeyValArg (Identifier "dy") (Literal (Numeric 20.0 Percent))-       , NormalArg (Block (Content [ Text "First" ]))-       ])-, SoftBreak-, Code-    "test/typ/bugs/place-base-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "place"))-       [ NormalArg (Ident (Identifier "left"))-       , KeyValArg (Identifier "dx") (Literal (Numeric 20.0 Percent))-       , KeyValArg (Identifier "dy") (Literal (Numeric 60.0 Percent))-       , NormalArg (Block (Content [ Text "Second" ]))-       ])-, SoftBreak-, Code-    "test/typ/bugs/place-base-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "place"))-       [ NormalArg-           (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-       , KeyValArg (Identifier "dx") (Literal (Numeric 25.0 Percent))-       , KeyValArg (Identifier "dy") (Literal (Numeric 25.0 Percent))-       , NormalArg (Block (Content [ Text "Third" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 place(alignment: right, -                       body: text(body: [First]), -                       dx: -70%, -                       dy: 20%), -                 text(body: [-]), -                 place(alignment: left, -                       body: text(body: [Second]), -                       dx: 20%, -                       dy: 60%), -                 text(body: [-]), -                 place(alignment: Axes(center, horizon), -                       body: text(body: [Third]), -                       dx: 25%, -                       dy: 25%), -                 parbreak() })
− test/out/bugs/smartquotes-in-outline-00.out
@@ -1,81 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/smartquotes-in-outline-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/smartquotes-in-outline-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/smartquotes-in-outline-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/smartquotes-in-outline-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 15.0 Em)) ])-, SoftBreak-, Code-    "test/typ/bugs/smartquotes-in-outline-00.typ"-    ( line 3 , column 2 )-    (FuncCall (Ident (Identifier "outline")) [])-, ParBreak-, Heading-    1-    [ Quote '"'-    , Text "This"-    , Quote '"'-    , Space-    , Quote '"'-    , Text "is"-    , Quote '"'-    , Space-    , Quote '"'-    , Text "a"-    , Quote '"'-    , Space-    , Quote '"'-    , Text "test"-    , Quote '"'-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 outline(), -                 parbreak(), -                 heading(body: text(body: [“This” “is” “a” “test”]), -                         level: 1) })
− test/out/bugs/square-base-00.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/bugs/square-base-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/bugs/square-base-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/bugs/square-base-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/bugs/square-base-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/bugs/square-base-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Percent))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 60.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 80.0 Percent))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 square(body: rect(height: 80%, -                                   width: 60%), -                        width: 40%), -                 parbreak() })
− test/out/coma-00.out
@@ -1,414 +0,0 @@---- parse tree ----[ Code-    "test/typ/coma-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/coma-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/coma-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/coma-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 450.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 1.0 Cm))-       ])-, ParBreak-, Strong-    [ Text "Technische"-    , Space-    , Text "Universit\228t"-    , Space-    , Text "Berlin"-    ]-, Space-, Code-    "test/typ/coma-00.typ"-    ( line 4 , column 34 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, Space-, Strong-    [ Text "WiSe" , Space , Text "2019" , Text "/" , Text "2020" ]-, Space-, HardBreak-, Strong-    [ Text "Fakult\228t"-    , Space-    , Text "II,"-    , Space-    , Text "Institut"-    , Space-    , Text "for"-    , Space-    , Text "Mathematik"-    ]-, Space-, Code-    "test/typ/coma-00.typ"-    ( line 5 , column 41 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, Space-, Text "Woche"-, Space-, Text "3"-, Space-, HardBreak-, Text "Sekretariat"-, Space-, Text "MA"-, Space-, HardBreak-, Text "Dr"-, Text "."-, Space-, Text "Max"-, Space-, Text "Mustermann"-, Space-, HardBreak-, Text "Ola"-, Space-, Text "Nordmann,"-, Space-, Text "John"-, Space-, Text "Doe"-, ParBreak-, Code-    "test/typ/coma-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Mm)) ])-, SoftBreak-, Code-    "test/typ/coma-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center"))-       , BlockArg-           [ SoftBreak-           , Code-               "test/typ/coma-00.typ"-               ( line 12 , column 4 )-               (Set-                  (Ident (Identifier "par"))-                  [ KeyValArg (Identifier "leading") (Literal (Numeric 3.0 Mm)) ])-           , SoftBreak-           , Code-               "test/typ/coma-00.typ"-               ( line 13 , column 4 )-               (FuncCall-                  (Ident (Identifier "text"))-                  [ NormalArg (Literal (Numeric 1.2 Em))-                  , BlockArg-                      [ Strong-                          [ Text "3"-                          , Text "."-                          , Space-                          , Text "\220bungsblatt"-                          , Space-                          , Text "Computerorientierte"-                          , Space-                          , Text "Mathematik"-                          , Space-                          , Text "II"-                          ]-                      ]-                  ])-           , Space-           , HardBreak-           , Strong-               [ Text "Abgabe"-               , Text ":"-               , Space-               , Text "03"-               , Text "."-               , Text "05"-               , Text "."-               , Text "2019"-               ]-           , Space-           , Text "("-           , Text "bis"-           , Space-           , Text "10"-           , Text ":"-           , Text "10"-           , Space-           , Text "Uhr"-           , Space-           , Text "in"-           , Space-           , Text "MA"-           , Space-           , Text "001)"-           , Space-           , HardBreak-           , Strong-               [ Text "Alle"-               , Space-               , Text "Antworten"-               , Space-               , Text "sind"-               , Space-               , Text "zu"-               , Space-               , Text "beweisen"-               , Text "."-               ]-           , ParBreak-           ]-       ])-, ParBreak-, Strong [ Text "1" , Text "." , Space , Text "Aufgabe" ]-, Space-, Code-    "test/typ/coma-00.typ"-    ( line 18 , column 15 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, Space-, Text "("-, Text "1"-, Space-, Text "+"-, Space-, Text "1"-, Space-, Text "+"-, Space-, Text "2"-, Space-, Text "Punkte)"-, ParBreak-, Text "Ein"-, Space-, Emph [ Text "Bin\228rbaum" ]-, Space-, Text "ist"-, Space-, Text "ein"-, Space-, Text "Wurzelbaum,"-, Space-, Text "in"-, Space-, Text "dem"-, Space-, Text "jeder"-, Space-, Text "Knoten"-, Space-, Text "\8804"-, Space-, Text "2"-, Space-, Text "Kinder"-, Space-, Text "hat"-, Text "."-, SoftBreak-, Text "Die"-, Space-, Text "Tiefe"-, Space-, Text "eines"-, Space-, Text "Knotens"-, Space-, Emph [ Text "v" ]-, Space-, Text "ist"-, Space-, Text "die"-, Space-, Text "L\228nge"-, Space-, Text "des"-, Space-, Text "eindeutigen"-, Space-, Text "Weges"-, Space-, Text "von"-, Space-, Text "der"-, Space-, Text "Wurzel"-, SoftBreak-, Text "zu"-, Space-, Emph [ Text "v" ]-, Text ","-, Space-, Text "und"-, Space-, Text "die"-, Space-, Text "H\246he"-, Space-, Text "von"-, Space-, Emph [ Text "v" ]-, Space-, Text "ist"-, Space-, Text "die"-, Space-, Text "L\228nge"-, Space-, Text "eines"-, Space-, Text "l\228ngsten"-, Space-, Text "("-, Text "absteigenden)"-, Space-, Text "Weges"-, SoftBreak-, Text "von"-, Space-, Emph [ Text "v" ]-, Space-, Text "zu"-, Space-, Text "einem"-, Space-, Text "Blatt"-, Text "."-, Space-, Text "Die"-, Space-, Text "H\246he"-, Space-, Text "des"-, Space-, Text "Baumes"-, Space-, Text "ist"-, Space-, Text "die"-, Space-, Text "H\246he"-, Space-, Text "der"-, Space-, Text "Wurzel"-, Text "."-, ParBreak-, Code-    "test/typ/coma-00.typ"-    ( line 25 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/graph.png"))-              , KeyValArg (Identifier "width") (Literal (Numeric 75.0 Percent))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 strong(body: text(body: [Technische Universität Berlin])), -                 text(body: [ ]), -                 h(amount: 1.0fr), -                 text(body: [ ]), -                 strong(body: text(body: [WiSe 2019/2020])), -                 text(body: [ ]), -                 linebreak(), -                 strong(body: text(body: [Fakultät II, Institut for Mathematik])), -                 text(body: [ ]), -                 h(amount: 1.0fr), -                 text(body: [ Woche 3 ]), -                 linebreak(), -                 text(body: [Sekretariat MA ]), -                 linebreak(), -                 text(body: [Dr. Max Mustermann ]), -                 linebreak(), -                 text(body: [Ola Nordmann, John Doe]), -                 parbreak(), -                 v(amount: 3.0mm), -                 text(body: [-]), -                 align(alignment: center, -                       body: { text(body: [-]), -                               text(body: [-]), -                               text(body: strong(body: text(body: [3. Übungsblatt Computerorientierte Mathematik II])), -                                    size: 1.2em), -                               text(body: [ ]), -                               linebreak(), -                               strong(body: text(body: [Abgabe: 03.05.2019])), -                               text(body: [ (bis 10:10 Uhr in MA 001) ]), -                               linebreak(), -                               strong(body: text(body: [Alle Antworten sind zu beweisen.])), -                               parbreak() }), -                 parbreak(), -                 strong(body: text(body: [1. Aufgabe])), -                 text(body: [ ]), -                 h(amount: 1.0fr), -                 text(body: [ (1 + 1 + 2 Punkte)]), -                 parbreak(), -                 text(body: [Ein ]), -                 emph(body: text(body: [Binärbaum])), -                 text(body: [ ist ein Wurzelbaum, in dem jeder Knoten ≤ 2 Kinder hat.-Die Tiefe eines Knotens ]), -                 emph(body: text(body: [v])), -                 text(body: [ ist die Länge des eindeutigen Weges von der Wurzel-zu ]), -                 emph(body: text(body: [v])), -                 text(body: [, und die Höhe von ]), -                 emph(body: text(body: [v])), -                 text(body: [ ist die Länge eines längsten (absteigenden) Weges-von ]), -                 emph(body: text(body: [v])), -                 text(body: [ zu einem Blatt. Die Höhe des Baumes ist die Höhe der Wurzel.]), -                 parbreak(), -                 align(alignment: center, -                       body: image(path: "/graph.png", -                                   width: 75%)), -                 parbreak() })
− test/out/compiler/array-00.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/array-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 150.0 Pt)) ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/array-00.typ" ( line 7 , column 2 ) (Array [])-, ParBreak-, Comment-, Code-    "test/typ/compiler/array-00.typ"-    ( line 10 , column 2 )-    (Literal (Int 1))-, ParBreak-, Comment-, Code-    "test/typ/compiler/array-00.typ"-    ( line 13 , column 2 )-    (Array [ Reg (Negated (Literal (Int 1))) ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/array-00.typ"-    ( line 16 , column 2 )-    (Array-       [ Reg (Literal (Boolean True)) , Reg (Literal (Boolean False)) ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/array-00.typ"-    ( line 19 , column 2 )-    (Array-       [ Reg (Literal (String "1"))-       , Reg-           (FuncCall-              (Ident (Identifier "rgb")) [ NormalArg (Literal (String "002")) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [()]), -                 parbreak(), -                 text(body: [1]), -                 parbreak(), -                 text(body: [(-1)]), -                 parbreak(), -                 text(body: [(true, false)]), -                 parbreak(), -                 text(body: [("1", rgb(0%,0%,0%,100%))]), -                 parbreak() })
− test/out/compiler/array-01.out
@@ -1,79 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall (FieldAccess (Ident (Identifier "len")) (Array [])) [])-       , NormalArg (Literal (Int 0))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "len"))-                 (Array-                    [ Reg (Literal (String "A"))-                    , Reg (Literal (String "B"))-                    , Reg (Literal (String "C"))-                    ]))-              [])-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-02.out
@@ -1,80 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-02.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "array")))-              (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])-          , Assign-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "at")) (Ident (Identifier "array")))-                 [ NormalArg (Literal (Int 1)) ])-              (Plus-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "at")) (Ident (Identifier "array")))-                    [ NormalArg (Literal (Int 1)) ])-                 (Plus-                    (Literal (Int 5))-                    (FuncCall-                       (FieldAccess-                          (Ident (Identifier "at")) (Ident (Identifier "array")))-                       [ NormalArg (Literal (Int 0)) ])))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "array"))-              , NormalArg-                  (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 8)) ])-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-03.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-03.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "array")))-              (Array-                 [ Reg (Literal (Int 1))-                 , Reg (Literal (Int 2))-                 , Reg (Literal (Int 3))-                 ])-          , Assign-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "first")) (Ident (Identifier "array")))-                 [])-              (Literal (Int 7))-          , Assign-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "at")) (Ident (Identifier "array")))-                 [ NormalArg (Literal (Int 1)) ])-              (Times-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "at")) (Ident (Identifier "array")))-                    [ NormalArg (Literal (Int 1)) ])-                 (Literal (Int 8)))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "array"))-              , NormalArg-                  (Array-                     [ Reg (Literal (Int 7))-                     , Reg (Literal (Int 16))-                     , Reg (Literal (Int 3))-                     ])-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-06.out
@@ -1,91 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-06.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "at"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    ]))-              [ NormalArg (Literal (Int 2))-              , KeyValArg (Identifier "default") (Literal (Int 5))-              ])-       , NormalArg (Literal (Int 3))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-06.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "at"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    ]))-              [ NormalArg (Literal (Int 3))-              , KeyValArg (Identifier "default") (Literal (Int 5))-              ])-       , NormalArg (Literal (Int 5))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-09.out
@@ -1,112 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-09.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "array")))-              (Array-                 [ Reg (Literal (Int 1))-                 , Reg (Literal (Int 2))-                 , Reg (Literal (Int 3))-                 , Reg (Literal (Int 4))-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "at")) (Ident (Identifier "array")))-                     [ NormalArg (Literal (Int 0)) ])-              , NormalArg (Literal (Int 1))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "at")) (Ident (Identifier "array")))-                     [ NormalArg (Negated (Literal (Int 1))) ])-              , NormalArg (Literal (Int 4))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "at")) (Ident (Identifier "array")))-                     [ NormalArg (Negated (Literal (Int 2))) ])-              , NormalArg (Literal (Int 3))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "at")) (Ident (Identifier "array")))-                     [ NormalArg (Negated (Literal (Int 3))) ])-              , NormalArg (Literal (Int 2))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "at")) (Ident (Identifier "array")))-                     [ NormalArg (Negated (Literal (Int 4))) ])-              , NormalArg (Literal (Int 1))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-10.out
@@ -1,119 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-10.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-10.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-10.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-10.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "first")) (Array [ Reg (Literal (Int 1)) ]))-              [])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-10.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "last")) (Array [ Reg (Literal (Int 2)) ]))-              [])-       , NormalArg (Literal (Int 2))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-10.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "first"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    ]))-              [])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-10.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "last"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    ]))-              [])-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-11.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-12.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-13.out
@@ -1,118 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-13.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-13.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-13.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-13.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "tasks")))-              (Dict-                 [ Reg-                     ( Ident (Identifier "a")-                     , Array-                         [ Reg (Literal (Int 1))-                         , Reg (Literal (Int 2))-                         , Reg (Literal (Int 3))-                         ]-                     )-                 , Reg-                     ( Ident (Identifier "b")-                     , Array-                         [ Reg (Literal (Int 4))-                         , Reg (Literal (Int 5))-                         , Reg (Literal (Int 6))-                         ]-                     )-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "pop"))-                        (FuncCall-                           (FieldAccess-                              (Ident (Identifier "at")) (Ident (Identifier "tasks")))-                           [ NormalArg (Literal (String "a")) ]))-                     [])-              , NormalArg (Literal (Int 3))-              ]-          , FuncCall-              (FieldAccess-                 (Ident (Identifier "push"))-                 (FieldAccess-                    (Ident (Identifier "b")) (Ident (Identifier "tasks"))))-              [ NormalArg (Literal (Int 7)) ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FieldAccess (Ident (Identifier "a")) (Ident (Identifier "tasks")))-              , NormalArg-                  (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "at")) (Ident (Identifier "tasks")))-                     [ NormalArg (Literal (String "b")) ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Int 4))-                     , Reg (Literal (Int 5))-                     , Reg (Literal (Int 6))-                     , Reg (Literal (Int 7))-                     ])-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-14.out
@@ -1,93 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-14.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-14.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-14.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-14.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "array")))-              (Array-                 [ Reg (Literal (Int 0))-                 , Reg (Literal (Int 1))-                 , Reg (Literal (Int 2))-                 , Reg (Literal (Int 4))-                 , Reg (Literal (Int 5))-                 ])-          , FuncCall-              (FieldAccess-                 (Ident (Identifier "insert")) (Ident (Identifier "array")))-              [ NormalArg (Literal (Int 3)) , NormalArg (Literal (Int 3)) ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "array"))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "range")) [ NormalArg (Literal (Int 6)) ])-              ]-          , FuncCall-              (FieldAccess-                 (Ident (Identifier "remove")) (Ident (Identifier "array")))-              [ NormalArg (Literal (Int 1)) ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "array"))-              , NormalArg-                  (Array-                     [ Reg (Literal (Int 0))-                     , Reg (Literal (Int 2))-                     , Reg (Literal (Int 3))-                     , Reg (Literal (Int 4))-                     , Reg (Literal (Int 5))-                     ])-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [1]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-15.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-16.out
@@ -1,234 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-16.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-16.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-16.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-16.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "slice"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    , Reg (Literal (Int 4))-                    ]))-              [ NormalArg (Literal (Int 2)) ])-       , NormalArg-           (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 4)) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-16.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "slice"))-                 (FuncCall-                    (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ]))-              [ NormalArg (Literal (Int 2)) , NormalArg (Literal (Int 6)) ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              , Reg (Literal (Int 4))-              , Reg (Literal (Int 5))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-16.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "slice"))-                 (FuncCall-                    (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ]))-              [ NormalArg (Literal (Int 4))-              , KeyValArg (Identifier "count") (Literal (Int 3))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 4))-              , Reg (Literal (Int 5))-              , Reg (Literal (Int 6))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-16.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "slice"))-                 (FuncCall-                    (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ]))-              [ NormalArg (Negated (Literal (Int 5)))-              , KeyValArg (Identifier "count") (Literal (Int 2))-              ])-       , NormalArg-           (Array [ Reg (Literal (Int 5)) , Reg (Literal (Int 6)) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-16.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "slice"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    ]))-              [ NormalArg (Literal (Int 2))-              , NormalArg (Negated (Literal (Int 2)))-              ])-       , NormalArg (Array [])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-16.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "slice"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    ]))-              [ NormalArg (Negated (Literal (Int 2)))-              , NormalArg (Literal (Int 2))-              ])-       , NormalArg (Array [ Reg (Literal (Int 2)) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-16.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "slice"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    ]))-              [ NormalArg (Negated (Literal (Int 3)))-              , NormalArg (Literal (Int 2))-              ])-       , NormalArg-           (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-16.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "join"))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "slice"))-                       (FuncCall-                          (FieldAccess-                             (Ident (Identifier "split")) (Literal (String "ABCD")))-                          [ NormalArg (Literal (String "")) ]))-                    [ NormalArg (Literal (Int 1))-                    , NormalArg (Negated (Literal (Int 1)))-                    ]))-              [ NormalArg (Literal (String "-")) ])-       , NormalArg (Literal (String "A-B-C-D"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-17.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-18.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-19.out
@@ -1,127 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-19.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-19.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-19.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-19.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "position"))-                 (Array-                    [ Reg (Literal (String "Hi"))-                    , Reg (Literal (String "\10084\65039"))-                    , Reg (Literal (String "Love"))-                    ]))-              [ NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "s") ]-                     (Equals-                        (Ident (Identifier "s")) (Literal (String "\10084\65039"))))-              ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-19.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "position"))-                 (Array-                    [ Reg (Literal (String "Bye"))-                    , Reg (Literal (String "\128152"))-                    , Reg (Literal (String "Apart"))-                    ]))-              [ NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "s") ]-                     (Equals-                        (Ident (Identifier "s")) (Literal (String "\10084\65039"))))-              ])-       , NormalArg (Literal None)-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-19.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "position"))-                 (Array-                    [ Reg (Literal (String "A"))-                    , Reg (Literal (String "B"))-                    , Reg (Literal (String "CDEF"))-                    , Reg (Literal (String "G"))-                    ]))-              [ NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "v") ]-                     (GreaterThan-                        (FuncCall-                           (FieldAccess (Ident (Identifier "len")) (Ident (Identifier "v")))-                           [])-                        (Literal (Int 2))))-              ])-       , NormalArg (Literal (Int 2))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-20.out
@@ -1,121 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-20.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-20.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-20.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-20.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "filter")) (Array []))-              [ NormalArg-                  (FieldAccess-                     (Ident (Identifier "even")) (Ident (Identifier "calc")))-              ])-       , NormalArg (Array [])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-20.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "filter"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    , Reg (Literal (Int 4))-                    ]))-              [ NormalArg-                  (FieldAccess-                     (Ident (Identifier "even")) (Ident (Identifier "calc")))-              ])-       , NormalArg-           (Array [ Reg (Literal (Int 2)) , Reg (Literal (Int 4)) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-20.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "filter"))-                 (Array-                    [ Reg (Literal (Int 7))-                    , Reg (Literal (Int 3))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 5))-                    , Reg (Literal (Int 1))-                    ]))-              [ NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "x") ]-                     (LessThan (Ident (Identifier "x")) (Literal (Int 5))))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 3))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 1))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-21.out
@@ -1,86 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-21.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-21.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-21.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-21.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "map")) (Array []))-              [ NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "x") ]-                     (Times (Ident (Identifier "x")) (Literal (Int 2))))-              ])-       , NormalArg (Array [])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-21.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "map"))-                 (Array [ Reg (Literal (Int 2)) , Reg (Literal (Int 3)) ]))-              [ NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "x") ]-                     (Times (Ident (Identifier "x")) (Literal (Int 2))))-              ])-       , NormalArg-           (Array [ Reg (Literal (Int 4)) , Reg (Literal (Int 6)) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-22.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-22.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-22.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-22.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-22.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "fold")) (Array []))-              [ NormalArg (Literal (String "hi"))-              , NormalArg (Ident (Identifier "grid"))-              ])-       , NormalArg (Literal (String "hi"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-22.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "fold"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    , Reg (Literal (Int 4))-                    ]))-              [ NormalArg (Literal (Int 0))-              , NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "s") , NormalParam (Identifier "x") ]-                     (Plus (Ident (Identifier "s")) (Ident (Identifier "x"))))-              ])-       , NormalArg (Literal (Int 10))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-23.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-24.out
@@ -1,96 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-24.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-24.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-24.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-24.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "sum")) (Array []))-              [ KeyValArg (Identifier "default") (Literal (Int 0)) ])-       , NormalArg (Literal (Int 0))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-24.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "sum")) (Array []))-              [ KeyValArg (Identifier "default") (Block (Content [])) ])-       , NormalArg (Block (Content []))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-24.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "sum"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    ]))-              [])-       , NormalArg (Literal (Int 6))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-25.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-26.out
@@ -1,115 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-26.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-26.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-26.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-26.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "product")) (Array []))-              [ KeyValArg (Identifier "default") (Literal (Int 0)) ])-       , NormalArg (Literal (Int 0))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-26.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "product")) (Array []))-              [ KeyValArg (Identifier "default") (Block (Content [])) ])-       , NormalArg (Block (Content []))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-26.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "product"))-                 (Array-                    [ Reg (Block (Content [ Text "ab" ])) , Reg (Literal (Int 3)) ]))-              [])-       , NormalArg-           (Times (Block (Content [ Text "ab" ])) (Literal (Int 3)))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-26.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "product"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    ]))-              [])-       , NormalArg (Literal (Int 6))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-27.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-28.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-28.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-28.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-28.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-28.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "rev"))-                 (FuncCall-                    (Ident (Identifier "range")) [ NormalArg (Literal (Int 3)) ]))-              [])-       , NormalArg-           (Array-              [ Reg (Literal (Int 2))-              , Reg (Literal (Int 1))-              , Reg (Literal (Int 0))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-29.out
@@ -1,120 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-29.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-29.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-29.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-29.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall (FieldAccess (Ident (Identifier "join")) (Array [])) [])-       , NormalArg (Literal None)-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-29.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "join")) (Array [ Reg (Literal (Int 1)) ]))-              [])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-29.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "join"))-                 (Array-                    [ Reg (Literal (String "a"))-                    , Reg (Literal (String "b"))-                    , Reg (Literal (String "c"))-                    ]))-              [])-       , NormalArg (Literal (String "abc"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-29.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Plus-              (Plus-                 (Literal (String "("))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "join"))-                       (Array-                          [ Reg (Literal (String "a"))-                          , Reg (Literal (String "b"))-                          , Reg (Literal (String "c"))-                          ]))-                    [ NormalArg (Literal (String ", ")) ]))-              (Literal (String ")")))-       , NormalArg (Literal (String "(a, b, c)"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-30.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-31.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-32.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-32.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-32.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-32.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/array-32.typ"-    ( line 4 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "join"))-          (Array-             [ Reg (Block (Content [ Text "One" ]))-             , Reg (Block (Content [ Text "Two" ]))-             , Reg (Block (Content [ Text "Three" ]))-             ]))-       [ NormalArg (Block (Content [ Text "," , Space ]))-       , KeyValArg-           (Identifier "last")-           (Block (Content [ Space , Text "and" , Space ]))-       ])-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [One]), -                 text(body: [, ]), -                 text(body: [Two]), -                 text(body: [ and ]), -                 text(body: [Three]), -                 text(body: [.]), -                 parbreak() })
− test/out/compiler/array-33.out
@@ -1,321 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-33.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-33.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-33.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-33.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "sorted")) (Array [])) [])-       , NormalArg (Array [])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-33.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "sorted")) (Array []))-              [ KeyValArg-                  (Identifier "key")-                  (FuncExpr-                     [ NormalParam (Identifier "x") ] (Ident (Identifier "x")))-              ])-       , NormalArg (Array [])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-33.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "sorted"))-                 (Times-                    (Array-                       [ Reg (Literal (Boolean True)) , Reg (Literal (Boolean False)) ])-                    (Literal (Int 10))))-              [])-       , NormalArg-           (Plus-              (Times-                 (Array [ Reg (Literal (Boolean False)) ]) (Literal (Int 10)))-              (Times-                 (Array [ Reg (Literal (Boolean True)) ]) (Literal (Int 10))))-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-33.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "sorted"))-                 (Array-                    [ Reg (Literal (String "it"))-                    , Reg (Literal (String "the"))-                    , Reg (Literal (String "hi"))-                    , Reg (Literal (String "text"))-                    ]))-              [])-       , NormalArg-           (Array-              [ Reg (Literal (String "hi"))-              , Reg (Literal (String "it"))-              , Reg (Literal (String "text"))-              , Reg (Literal (String "the"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-33.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "sorted"))-                 (Array-                    [ Reg (Literal (String "I"))-                    , Reg (Literal (String "the"))-                    , Reg (Literal (String "hi"))-                    , Reg (Literal (String "text"))-                    ]))-              [ KeyValArg-                  (Identifier "key")-                  (FuncExpr-                     [ NormalParam (Identifier "x") ] (Ident (Identifier "x")))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (String "I"))-              , Reg (Literal (String "hi"))-              , Reg (Literal (String "text"))-              , Reg (Literal (String "the"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-33.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "sorted"))-                 (Array-                    [ Reg (Literal (String "I"))-                    , Reg (Literal (String "the"))-                    , Reg (Literal (String "hi"))-                    , Reg (Literal (String "text"))-                    ]))-              [ KeyValArg-                  (Identifier "key")-                  (FuncExpr-                     [ NormalParam (Identifier "x") ]-                     (FuncCall-                        (FieldAccess (Ident (Identifier "len")) (Ident (Identifier "x")))-                        []))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (String "I"))-              , Reg (Literal (String "hi"))-              , Reg (Literal (String "the"))-              , Reg (Literal (String "text"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-33.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "sorted"))-                 (Array-                    [ Reg (Literal (Int 2))-                    , Reg (Literal (Int 1))-                    , Reg (Literal (Int 3))-                    , Reg (Literal (Int 10))-                    , Reg (Literal (Int 5))-                    , Reg (Literal (Int 8))-                    , Reg (Literal (Int 6))-                    , Reg (Negated (Literal (Int 7)))-                    , Reg (Literal (Int 2))-                    ]))-              [])-       , NormalArg-           (Array-              [ Reg (Negated (Literal (Int 7)))-              , Reg (Literal (Int 1))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              , Reg (Literal (Int 5))-              , Reg (Literal (Int 6))-              , Reg (Literal (Int 8))-              , Reg (Literal (Int 10))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-33.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "sorted"))-                 (Array-                    [ Reg (Literal (Int 2))-                    , Reg (Literal (Int 1))-                    , Reg (Literal (Int 3))-                    , Reg (Negated (Literal (Int 10)))-                    , Reg (Negated (Literal (Int 5)))-                    , Reg (Literal (Int 8))-                    , Reg (Literal (Int 6))-                    , Reg (Negated (Literal (Int 7)))-                    , Reg (Literal (Int 2))-                    ]))-              [ KeyValArg-                  (Identifier "key")-                  (FuncExpr-                     [ NormalParam (Identifier "x") ] (Ident (Identifier "x")))-              ])-       , NormalArg-           (Array-              [ Reg (Negated (Literal (Int 10)))-              , Reg (Negated (Literal (Int 7)))-              , Reg (Negated (Literal (Int 5)))-              , Reg (Literal (Int 1))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              , Reg (Literal (Int 6))-              , Reg (Literal (Int 8))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-33.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "sorted"))-                 (Array-                    [ Reg (Literal (Int 2))-                    , Reg (Literal (Int 1))-                    , Reg (Literal (Int 3))-                    , Reg (Negated (Literal (Int 10)))-                    , Reg (Negated (Literal (Int 5)))-                    , Reg (Literal (Int 8))-                    , Reg (Literal (Int 6))-                    , Reg (Negated (Literal (Int 7)))-                    , Reg (Literal (Int 2))-                    ]))-              [ KeyValArg-                  (Identifier "key")-                  (FuncExpr-                     [ NormalParam (Identifier "x") ]-                     (Times (Ident (Identifier "x")) (Ident (Identifier "x"))))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 1))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              , Reg (Negated (Literal (Int 5)))-              , Reg (Literal (Int 6))-              , Reg (Negated (Literal (Int 7)))-              , Reg (Literal (Int 8))-              , Reg (Negated (Literal (Int 10)))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-34.out
@@ -1,202 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/array-34.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/array-34.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/array-34.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/array-34.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "zip")) (Array []))-              [ NormalArg (Array []) ])-       , NormalArg (Array [])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-34.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "zip")) (Array [ Reg (Literal (Int 1)) ]))-              [ NormalArg (Array []) ])-       , NormalArg (Array [])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-34.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "zip")) (Array [ Reg (Literal (Int 1)) ]))-              [ NormalArg (Array [ Reg (Literal (Int 2)) ]) ])-       , NormalArg-           (Array-              [ Reg (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-34.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "zip"))-                 (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))-              [ NormalArg-                  (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 4)) ])-              ])-       , NormalArg-           (Array-              [ Reg (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 3)) ])-              , Reg (Array [ Reg (Literal (Int 2)) , Reg (Literal (Int 4)) ])-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-34.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "zip"))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    , Reg (Literal (Int 4))-                    ]))-              [ NormalArg-                  (Array [ Reg (Literal (Int 5)) , Reg (Literal (Int 6)) ])-              ])-       , NormalArg-           (Array-              [ Reg (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 5)) ])-              , Reg (Array [ Reg (Literal (Int 2)) , Reg (Literal (Int 6)) ])-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-34.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "zip"))-                 (Array-                    [ Reg (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])-                    , Reg (Literal (Int 3))-                    ]))-              [ NormalArg-                  (Array [ Reg (Literal (Int 4)) , Reg (Literal (Int 5)) ])-              ])-       , NormalArg-           (Array-              [ Reg-                  (Array-                     [ Reg (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])-                     , Reg (Literal (Int 4))-                     ])-              , Reg (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 5)) ])-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/array-34.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "zip"))-                 (Array [ Reg (Literal (Int 1)) , Reg (Literal (String "hi")) ]))-              [ NormalArg-                  (Array-                     [ Reg (Literal (Boolean True)) , Reg (Literal (Boolean False)) ])-              ])-       , NormalArg-           (Array-              [ Reg-                  (Array [ Reg (Literal (Int 1)) , Reg (Literal (Boolean True)) ])-              , Reg-                  (Array-                     [ Reg (Literal (String "hi")) , Reg (Literal (Boolean False)) ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/array-35.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-36.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-37.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/array-38.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/bench-00.out
@@ -1,476 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/bench-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/bench-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/bench-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/bench-00.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 450.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 1.0 Cm))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/bench-00.typ"-    ( line 8 , column 2 )-    (Let-       (BasicBind (Just (Identifier "city"))) (Literal (String "Berlin")))-, ParBreak-, Comment-, Comment-, Comment-, Code-    "test/typ/compiler/bench-00.typ"-    ( line 13 , column 2 )-    (Let-       (BasicBind (Just (Identifier "university")))-       (Block-          (Content-             [ Strong-                 [ Text "Technische"-                 , Space-                 , Text "Universit\228t"-                 , Space-                 , Code-                     "test/typ/compiler/bench-00.typ"-                     ( line 13 , column 45 )-                     (Ident (Identifier "city"))-                 ]-             ])))-, SoftBreak-, Code-    "test/typ/compiler/bench-00.typ"-    ( line 14 , column 2 )-    (Let-       (BasicBind (Just (Identifier "faculty")))-       (Block-          (Content-             [ Strong-                 [ Text "Fakult\228t"-                 , Space-                 , Text "II,"-                 , Space-                 , Text "Institut"-                 , Space-                 , Text "for"-                 , Space-                 , Text "Mathematik"-                 ]-             ])))-, ParBreak-, Comment-, Comment-, Comment-, Code-    "test/typ/compiler/bench-00.typ"-    ( line 19 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ BlockArg-           [ SoftBreak-           , Comment-           , Space-           , Code-               "test/typ/compiler/bench-00.typ"-               ( line 21 , column 4 )-               (Ident (Identifier "university"))-           , Space-           , HardBreak-           , Code-               "test/typ/compiler/bench-00.typ"-               ( line 22 , column 4 )-               (Ident (Identifier "faculty"))-           , Space-           , HardBreak-           , Text "Sekretariat"-           , Space-           , Text "MA"-           , Space-           , HardBreak-           , Text "Dr"-           , Text "."-           , Space-           , Text "Max"-           , Space-           , Text "Mustermann"-           , Space-           , HardBreak-           , Text "Ola"-           , Space-           , Text "Nordmann,"-           , Space-           , Text "John"-           , Space-           , Text "Doe"-           , ParBreak-           ]-       ])-, SoftBreak-, Code-    "test/typ/compiler/bench-00.typ"-    ( line 27 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "right"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "box"))-              [ BlockArg-                  [ Strong-                      [ Text "WiSe" , Space , Text "2019" , Text "/" , Text "2020" ]-                  , Space-                  , HardBreak-                  , Text "Woche"-                  , Space-                  , Text "3"-                  ]-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/bench-00.typ"-    ( line 30 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 6.0 Mm)) ])-, ParBreak-, Comment-, Comment-, Code-    "test/typ/compiler/bench-00.typ"-    ( line 34 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center"))-       , BlockArg-           [ SoftBreak-           , Comment-           , Space-           , Heading-               4-               [ Text "3"-               , Text "."-               , Space-               , Text "\220bungsblatt"-               , Space-               , Text "Computerorientierte"-               , Space-               , Text "Mathematik"-               , Space-               , Text "II"-               , Space-               , Code-                   "test/typ/compiler/bench-00.typ"-                   ( line 36 , column 58 )-                   (FuncCall-                      (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 4.0 Mm)) ])-               ]-           , Strong-               [ Text "Abgabe"-               , Text ":"-               , Space-               , Text "03"-               , Text "."-               , Text "05"-               , Text "."-               , Text "2019"-               ]-           , Space-           , Text "("-           , Text "bis"-           , Space-           , Text "10"-           , Text ":"-           , Text "10"-           , Space-           , Text "Uhr"-           , Space-           , Text "in"-           , Space-           , Text "MA"-           , Space-           , Text "001)"-           , Space-           , Code-               "test/typ/compiler/bench-00.typ"-               ( line 37 , column 51 )-               (FuncCall-                  (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 4.0 Mm)) ])-           , SoftBreak-           , Strong-               [ Text "Alle"-               , Space-               , Text "Antworten"-               , Space-               , Text "sind"-               , Space-               , Text "zu"-               , Space-               , Text "beweisen"-               , Text "."-               ]-           , ParBreak-           ]-       ])-, ParBreak-, Strong [ Text "1" , Text "." , Space , Text "Aufgabe" ]-, Space-, Code-    "test/typ/compiler/bench-00.typ"-    ( line 41 , column 15 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "right"))-       , BlockArg-           [ Text "("-           , Text "1"-           , Space-           , Text "+"-           , Space-           , Text "1"-           , Space-           , Text "+"-           , Space-           , Text "2"-           , Space-           , Text "Punkte)"-           ]-       ])-, ParBreak-, Text "Ein"-, Space-, Emph [ Text "Bin\228rbaum" ]-, Space-, Text "ist"-, Space-, Text "ein"-, Space-, Text "Wurzelbaum,"-, Space-, Text "in"-, Space-, Text "dem"-, Space-, Text "jeder"-, Space-, Text "Knoten"-, Space-, Text "\8804"-, Space-, Text "2"-, Space-, Text "Kinder"-, Space-, Text "hat"-, Text "."-, SoftBreak-, Text "Die"-, Space-, Text "Tiefe"-, Space-, Text "eines"-, Space-, Text "Knotens"-, Space-, Emph [ Text "v" ]-, Space-, Text "ist"-, Space-, Text "die"-, Space-, Text "L\228nge"-, Space-, Text "des"-, Space-, Text "eindeutigen"-, Space-, Text "Weges"-, Space-, Text "von"-, Space-, Text "der"-, Space-, Text "Wurzel"-, SoftBreak-, Text "zu"-, Space-, Emph [ Text "v" ]-, Text ","-, Space-, Text "und"-, Space-, Text "die"-, Space-, Text "H\246he"-, Space-, Text "von"-, Space-, Emph [ Text "v" ]-, Space-, Text "ist"-, Space-, Text "die"-, Space-, Text "L\228nge"-, Space-, Text "eines"-, Space-, Text "l\228ngsten"-, Space-, Text "("-, Text "absteigenden)"-, Space-, Text "Weges"-, SoftBreak-, Text "von"-, Space-, Emph [ Text "v" ]-, Space-, Text "zu"-, Space-, Text "einem"-, Space-, Text "Blatt"-, Text "."-, Space-, Text "Die"-, Space-, Text "H\246he"-, Space-, Text "des"-, Space-, Text "Baumes"-, Space-, Text "ist"-, Space-, Text "die"-, Space-, Text "H\246he"-, Space-, Text "der"-, Space-, Text "Wurzel"-, Text "."-, ParBreak-, Code-    "test/typ/compiler/bench-00.typ"-    ( line 48 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 6.0 Mm)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 parbreak(), -                 text(body: [-]), -                 parbreak(), -                 box(body: { text(body: [-]), -                             text(body: [ ]), -                             strong(body: { text(body: [Technische Universität ]), -                                            text(body: [Berlin]) }), -                             text(body: [ ]), -                             linebreak(), -                             strong(body: text(body: [Fakultät II, Institut for Mathematik])), -                             text(body: [ ]), -                             linebreak(), -                             text(body: [Sekretariat MA ]), -                             linebreak(), -                             text(body: [Dr. Max Mustermann ]), -                             linebreak(), -                             text(body: [Ola Nordmann, John Doe]), -                             parbreak() }), -                 text(body: [-]), -                 align(alignment: right, -                       body: box(body: { strong(body: text(body: [WiSe 2019/2020])), -                                         text(body: [ ]), -                                         linebreak(), -                                         text(body: [Woche 3]) })), -                 parbreak(), -                 v(amount: 6.0mm), -                 parbreak(), -                 align(alignment: center, -                       body: { text(body: [-]), -                               text(body: [ ]), -                               heading(body: { text(body: [3. Übungsblatt Computerorientierte Mathematik II ]), -                                               v(amount: 4.0mm) }, -                                       level: 4), -                               strong(body: text(body: [Abgabe: 03.05.2019])), -                               text(body: [ (bis 10:10 Uhr in MA 001) ]), -                               v(amount: 4.0mm), -                               text(body: [-]), -                               strong(body: text(body: [Alle Antworten sind zu beweisen.])), -                               parbreak() }), -                 parbreak(), -                 strong(body: text(body: [1. Aufgabe])), -                 text(body: [ ]), -                 align(alignment: right, -                       body: text(body: [(1 + 1 + 2 Punkte)])), -                 parbreak(), -                 text(body: [Ein ]), -                 emph(body: text(body: [Binärbaum])), -                 text(body: [ ist ein Wurzelbaum, in dem jeder Knoten ≤ 2 Kinder hat.-Die Tiefe eines Knotens ]), -                 emph(body: text(body: [v])), -                 text(body: [ ist die Länge des eindeutigen Weges von der Wurzel-zu ]), -                 emph(body: text(body: [v])), -                 text(body: [, und die Höhe von ]), -                 emph(body: text(body: [v])), -                 text(body: [ ist die Länge eines längsten (absteigenden) Weges-von ]), -                 emph(body: text(body: [v])), -                 text(body: [ zu einem Blatt. Die Höhe des Baumes ist die Höhe der Wurzel.]), -                 parbreak(), -                 v(amount: 6.0mm), -                 parbreak() })
− test/out/compiler/block-00.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/block-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/block-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/block-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/block-00.typ"-    ( line 5 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "parts")))-              (Array-                 [ Reg (Literal (String "my fri"))-                 , Reg (Literal (String "end."))-                 ])-          , Block (Content [ Text "Hello," , Space ])-          , For-              (BasicBind (Just (Identifier "s")))-              (Ident (Identifier "parts"))-              (Block-                 (Content-                    [ Code-                        "test/typ/compiler/block-00.typ"-                        ( line 8 , column 20 )-                        (Ident (Identifier "s"))-                    ]))-          ]))-, ParBreak-, Comment-, Code-    "test/typ/compiler/block-00.typ"-    ( line 12 , column 2 )-    (Block-       (CodeBlock-          [ Block (Content [ Text "How" ])-          , If-              [ ( Literal (Boolean True)-                , Block (CodeBlock [ Literal (String " are") ])-                )-              ]-          , Block (Content [ Space ])-          , If-              [ ( Literal (Boolean False) , Block (Content [ Text "Nope" ]) ) ]-          , Plus (Block (Content [ Text "you" ])) (Literal (String "?"))-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [Hello, ]), -                 text(body: [my fri]), -                 text(body: [end.]), -                 parbreak(), -                 text(body: [How]), -                 text(body: [ are]), -                 text(body: [ ]), -                 text(body: [you]), -                 text(body: [?]), -                 parbreak() })
− test/out/compiler/block-01.out
@@ -1,135 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/block-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/block-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/block-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/block-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Block (CodeBlock [])) , NormalArg (Literal None) ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/block-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Block-              (CodeBlock-                 [ Let (BasicBind (Just (Identifier "v"))) (Literal (Int 0)) ]))-       , NormalArg (Literal None)-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/block-01.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Block (CodeBlock [ Literal (String "hello") ]))-       , NormalArg (Literal (String "hello"))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/block-01.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Block-              (CodeBlock-                 [ Let (BasicBind (Just (Identifier "x"))) (Literal (String "m"))-                 , Plus (Ident (Identifier "x")) (Literal (String "y"))-                 ]))-       , NormalArg (Literal (String "my"))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/block-01.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Block-              (CodeBlock-                 [ Let (BasicBind (Just (Identifier "x"))) (Literal (Int 1))-                 , Let (BasicBind (Just (Identifier "y"))) (Literal (Int 2))-                 , Plus (Ident (Identifier "x")) (Ident (Identifier "y"))-                 ]))-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/block-01.typ"-    ( line 22 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Block-              (CodeBlock-                 [ FuncCall-                     (Ident (Identifier "type")) [ NormalArg (Literal (String "")) ]-                 , Literal None-                 ]))-       , NormalArg (Literal (String "string"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/block-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/block-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/block-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/block-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/block-06.out
@@ -1,87 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/block-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/block-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/block-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/block-06.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let (BasicBind (Just (Identifier "a"))) (Literal (String "a1"))-          , Block-              (CodeBlock-                 [ Let (BasicBind (Just (Identifier "a"))) (Literal (String "a2"))-                 , Block-                     (CodeBlock-                        [ FuncCall-                            (Ident (Identifier "test"))-                            [ NormalArg (Ident (Identifier "a"))-                            , NormalArg (Literal (String "a2"))-                            ]-                        , Let (BasicBind (Just (Identifier "a"))) (Literal (String "a3"))-                        , FuncCall-                            (Ident (Identifier "test"))-                            [ NormalArg (Ident (Identifier "a"))-                            , NormalArg (Literal (String "a3"))-                            ]-                        ])-                 , FuncCall-                     (Ident (Identifier "test"))-                     [ NormalArg (Ident (Identifier "a"))-                     , NormalArg (Literal (String "a2"))-                     ]-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "a"))-              , NormalArg (Literal (String "a1"))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/block-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/block-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/block-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/block-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/break-continue-00.out
@@ -1,110 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/break-continue-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/break-continue-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/break-continue-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/break-continue-00.typ"-    ( line 4 , column 2 )-    (Let (BasicBind (Just (Identifier "var"))) (Literal (Int 0)))-, SoftBreak-, Code-    "test/typ/compiler/break-continue-00.typ"-    ( line 5 , column 2 )-    (Let-       (BasicBind (Just (Identifier "error"))) (Literal (Boolean False)))-, ParBreak-, Code-    "test/typ/compiler/break-continue-00.typ"-    ( line 7 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ])-       (Block-          (CodeBlock-             [ Assign-                 (Ident (Identifier "var"))-                 (Plus (Ident (Identifier "var")) (Ident (Identifier "i")))-             , If-                 [ ( GreaterThan (Ident (Identifier "i")) (Literal (Int 5))-                   , Block-                       (CodeBlock-                          [ Break-                          , Assign (Ident (Identifier "error")) (Literal (Boolean True))-                          ])-                   )-                 ]-             ])))-, ParBreak-, Code-    "test/typ/compiler/break-continue-00.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "var"))-       , NormalArg (Literal (Int 21))-       ])-, SoftBreak-, Code-    "test/typ/compiler/break-continue-00.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "error"))-       , NormalArg (Literal (Boolean False))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/break-continue-01.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/break-continue-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/break-continue-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/break-continue-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/break-continue-01.typ"-    ( line 4 , column 2 )-    (Let (BasicBind (Just (Identifier "i"))) (Literal (Int 0)))-, SoftBreak-, Code-    "test/typ/compiler/break-continue-01.typ"-    ( line 5 , column 2 )-    (Let-       (BasicBind (Just (Identifier "x")))-       (While-          (Literal (Boolean True))-          (Block-             (CodeBlock-                [ Assign-                    (Ident (Identifier "i"))-                    (Plus (Ident (Identifier "i")) (Literal (Int 1)))-                , FuncCall-                    (Ident (Identifier "str")) [ NormalArg (Ident (Identifier "i")) ]-                , If-                    [ ( GreaterThanOrEqual (Ident (Identifier "i")) (Literal (Int 5))-                      , Block (CodeBlock [ Literal (String ".") , Break ])-                      )-                    ]-                ]))))-, ParBreak-, Code-    "test/typ/compiler/break-continue-01.typ"-    ( line 14 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (String "12345."))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/break-continue-02.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/break-continue-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/break-continue-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/break-continue-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/break-continue-02.typ"-    ( line 4 , column 2 )-    (Let (BasicBind (Just (Identifier "i"))) (Literal (Int 0)))-, SoftBreak-, Code-    "test/typ/compiler/break-continue-02.typ"-    ( line 5 , column 2 )-    (Let (BasicBind (Just (Identifier "x"))) (Literal (Int 0)))-, ParBreak-, Code-    "test/typ/compiler/break-continue-02.typ"-    ( line 7 , column 2 )-    (While-       (LessThan (Ident (Identifier "x")) (Literal (Int 8)))-       (Block-          (CodeBlock-             [ Assign-                 (Ident (Identifier "i"))-                 (Plus (Ident (Identifier "i")) (Literal (Int 1)))-             , If-                 [ ( Equals-                       (FuncCall-                          (FieldAccess-                             (Ident (Identifier "rem")) (Ident (Identifier "calc")))-                          [ NormalArg (Ident (Identifier "i"))-                          , NormalArg (Literal (Int 3))-                          ])-                       (Literal (Int 0))-                   , Block (CodeBlock [ Continue ])-                   )-                 ]-             , Assign-                 (Ident (Identifier "x"))-                 (Plus (Ident (Identifier "x")) (Ident (Identifier "i")))-             ])))-, ParBreak-, Comment-, Code-    "test/typ/compiler/break-continue-02.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (Int 12))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 parbreak(), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/break-continue-03.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/break-continue-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/break-continue-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/break-continue-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/break-continue-03.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "x")))-       (For-          (BasicBind (Just (Identifier "i")))-          (FuncCall-             (Ident (Identifier "range")) [ NormalArg (Literal (Int 5)) ])-          (Block-             (CodeBlock-                [ Literal (String "a")-                , If-                    [ ( Equals-                          (FuncCall-                             (FieldAccess-                                (Ident (Identifier "rem")) (Ident (Identifier "calc")))-                             [ NormalArg (Ident (Identifier "i"))-                             , NormalArg (Literal (Int 3))-                             ])-                          (Literal (Int 0))-                      , Block (CodeBlock [ Literal (String "_") , Continue ])-                      )-                    ]-                , FuncCall-                    (Ident (Identifier "str")) [ NormalArg (Ident (Identifier "i")) ]-                ]))))-, ParBreak-, Code-    "test/typ/compiler/break-continue-03.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (String "a_a1a2a_a4"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/break-continue-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/break-continue-05.out
@@ -1,86 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/break-continue-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/break-continue-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/break-continue-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/break-continue-05.typ"-    ( line 3 , column 2 )-    (LetFunc-       (Identifier "identity")-       [ NormalParam (Identifier "x") ]-       (Ident (Identifier "x")))-, SoftBreak-, Code-    "test/typ/compiler/break-continue-05.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "out")))-       (For-          (BasicBind (Just (Identifier "i")))-          (FuncCall-             (Ident (Identifier "range")) [ NormalArg (Literal (Int 5)) ])-          (Block-             (CodeBlock-                [ Literal (String "A")-                , FuncCall-                    (Ident (Identifier "identity"))-                    [ NormalArg (Block (CodeBlock [ Literal (String "B") , Break ])) ]-                , Literal (String "C")-                ]))))-, ParBreak-, Code-    "test/typ/compiler/break-continue-05.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "out"))-       , NormalArg (Literal (String "AB"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/break-continue-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/break-continue-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/break-continue-08.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/break-continue-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/break-continue-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/break-continue-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/break-continue-08.typ"-    ( line 4 , column 2 )-    (For-       (BasicBind Nothing)-       (FuncCall-          (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ])-       (Block-          (CodeBlock-             [ Block (Content [ Text "Hello" , Space ])-             , Block-                 (Content-                    [ Text "World"-                    , Space-                    , Code-                        "test/typ/compiler/break-continue-08.typ"-                        ( line 6 , column 11 )-                        (Block (CodeBlock [ Block (Content [ Text "\127758" ]) , Break ]))-                    ])-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Hello ]), -                 text(body: [World ]), -                 text(body: [🌎]), -                 parbreak() })
− test/out/compiler/break-continue-09.out
@@ -1,160 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/break-continue-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/break-continue-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/break-continue-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Comment-, Code-    "test/typ/compiler/break-continue-09.typ"-    ( line 5 , column 2 )-    (For-       (BasicBind (Just (Identifier "color")))-       (Array-          [ Reg (Ident (Identifier "red"))-          , Reg (Ident (Identifier "blue"))-          , Reg (Ident (Identifier "green"))-          , Reg (Ident (Identifier "yellow"))-          ])-       (Block-          (Content-             [ SoftBreak-             , Code-                 "test/typ/compiler/break-continue-09.typ"-                 ( line 6 , column 4 )-                 (Set-                    (Ident (Identifier "text"))-                    [ KeyValArg (Identifier "font") (Literal (String "Roboto")) ])-             , SoftBreak-             , Code-                 "test/typ/compiler/break-continue-09.typ"-                 ( line 7 , column 4 )-                 (Show-                    Nothing-                    (FuncExpr-                       [ NormalParam (Identifier "it") ]-                       (FuncCall-                          (Ident (Identifier "text"))-                          [ KeyValArg (Identifier "fill") (Ident (Identifier "color"))-                          , NormalArg (Ident (Identifier "it"))-                          ])))-             , SoftBreak-             , Code-                 "test/typ/compiler/break-continue-09.typ"-                 ( line 8 , column 4 )-                 (FuncCall-                    (Ident (Identifier "smallcaps"))-                    [ NormalArg-                        (If-                           [ ( Not-                                 (Equals (Ident (Identifier "color")) (Ident (Identifier "green")))-                             , Block (Content [ SoftBreak , Text "Some" , ParBreak ])-                             )-                           , ( Literal (Boolean True)-                             , Block-                                 (Content-                                    [ SoftBreak-                                    , Text "Last"-                                    , SoftBreak-                                    , Code-                                        "test/typ/compiler/break-continue-09.typ"-                                        ( line 12 , column 6 )-                                        Break-                                    , ParBreak-                                    ])-                             )-                           ])-                    ])-             , ParBreak-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      font: "Roboto"), -                 text(body: { text(body: [-], -                                   font: "Roboto"), -                              smallcaps(body: { text(body: [-Some], -                                                     font: "Roboto"), -                                                parbreak() }), -                              parbreak() }, -                      fill: rgb(100%,25%,21%,100%), -                      font: "Roboto"), -                 text(body: [-], -                      font: "Roboto"), -                 text(body: [-], -                      font: "Roboto"), -                 text(body: { text(body: [-], -                                   font: "Roboto"), -                              smallcaps(body: { text(body: [-Some], -                                                     font: "Roboto"), -                                                parbreak() }), -                              parbreak() }, -                      fill: rgb(0%,45%,85%,100%), -                      font: "Roboto"), -                 text(body: [-], -                      font: "Roboto"), -                 text(body: [-], -                      font: "Roboto"), -                 text(body: { text(body: [-], -                                   font: "Roboto"), -                              smallcaps(body: { text(body: [-Last-], -                                                     font: "Roboto"), -                                                parbreak() }), -                              parbreak() }, -                      fill: rgb(18%,80%,25%,100%), -                      font: "Roboto"), -                 parbreak() })
− test/out/compiler/break-continue-10.out
@@ -1,66 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/break-continue-10.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/break-continue-10.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/break-continue-10.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Comment-, Code-    "test/typ/compiler/break-continue-10.typ"-    ( line 5 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ])-       (Block-          (CodeBlock-             [ Block (Content [ Text "Hello" ])-             , Set-                 (Ident (Identifier "text"))-                 [ NormalArg (Ident (Identifier "blue")) , SpreadArg Break ]-             , Block (Content [ Text "Not" , Space , Text "happening" ])-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Hello]), -                 parbreak() })
− test/out/compiler/break-continue-11.out
@@ -1,113 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/break-continue-11.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/break-continue-11.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/break-continue-11.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, SoftBreak-, Code-    "test/typ/compiler/break-continue-11.typ"-    ( line 5 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "table"))-                 [ NormalArg-                     (Block (CodeBlock [ Block (Content [ Text "A" ]) , Break ]))-                 , NormalArg-                     (For-                        (BasicBind Nothing)-                        (FuncCall-                           (Ident (Identifier "range")) [ NormalArg (Literal (Int 3)) ])-                        (Block (Content [ Text "B" ])))-                 ]-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 table(children: (text(body: [A]), -                                  { text(body: [B]), -                                    text(body: [B]), -                                    text(body: [B]) })), -                 table(children: (text(body: [A]), -                                  { text(body: [B]), -                                    text(body: [B]), -                                    text(body: [B]) })), -                 table(children: (text(body: [A]), -                                  { text(body: [B]), -                                    text(body: [B]), -                                    text(body: [B]) })), -                 table(children: (text(body: [A]), -                                  { text(body: [B]), -                                    text(body: [B]), -                                    text(body: [B]) })), -                 table(children: (text(body: [A]), -                                  { text(body: [B]), -                                    text(body: [B]), -                                    text(body: [B]) })), -                 table(children: (text(body: [A]), -                                  { text(body: [B]), -                                    text(body: [B]), -                                    text(body: [B]) })), -                 table(children: (text(body: [A]), -                                  { text(body: [B]), -                                    text(body: [B]), -                                    text(body: [B]) })), -                 table(children: (text(body: [A]), -                                  { text(body: [B]), -                                    text(body: [B]), -                                    text(body: [B]) })), -                 table(children: (text(body: [A]), -                                  { text(body: [B]), -                                    text(body: [B]), -                                    text(body: [B]) })), -                 table(children: (text(body: [A]), -                                  { text(body: [B]), -                                    text(body: [B]), -                                    text(body: [B]) })), -                 parbreak() })
− test/out/compiler/call-00.out
@@ -1,203 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/call-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/call-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/call-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/call-00.typ"-    ( line 5 , column 2 )-    (LetFunc (Identifier "f") [] (Block (CodeBlock [])))-, SoftBreak-, Code-    "test/typ/compiler/call-00.typ"-    ( line 6 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/compiler/call-00.typ"-              ( line 6 , column 4 )-              (FuncCall (Ident (Identifier "f")) [])-          , Strong [ Text "Bold" ]-          ]))-, ParBreak-, Comment-, Code-    "test/typ/compiler/call-00.typ"-    ( line 9 , column 2 )-    (LetFunc-       (Identifier "f")-       [ NormalParam (Identifier "x") , NormalParam (Identifier "body") ]-       (FuncExpr-          [ NormalParam (Identifier "y") ]-          (Plus-             (Plus-                (Block-                   (Content-                      [ Code-                          "test/typ/compiler/call-00.typ"-                          ( line 9 , column 28 )-                          (Ident (Identifier "x"))-                      ]))-                (Ident (Identifier "body")))-             (Block-                (Content-                   [ Code-                       "test/typ/compiler/call-00.typ"-                       ( line 9 , column 42 )-                       (Ident (Identifier "y"))-                   ])))))-, SoftBreak-, Code-    "test/typ/compiler/call-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (FuncCall-          (Ident (Identifier "f"))-          [ NormalArg (Literal (Int 1)) , BlockArg [ Text "2" ] ])-       [ NormalArg (Literal (Int 3)) ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/call-00.typ"-    ( line 13 , column 2 )-    (Ident (Identifier "test"))-, Space-, Text "("-, Text "it)"-, ParBreak-, Code-    "test/typ/compiler/call-00.typ"-    ( line 15 , column 2 )-    (LetFunc-       (Identifier "f")-       [ NormalParam (Identifier "body") ]-       (Ident (Identifier "body")))-, SoftBreak-, Code-    "test/typ/compiler/call-00.typ"-    ( line 16 , column 2 )-    (FuncCall (Ident (Identifier "f")) [ BlockArg [ Text "A" ] ])-, SoftBreak-, Code-    "test/typ/compiler/call-00.typ"-    ( line 17 , column 2 )-    (FuncCall (Ident (Identifier "f")) [ BlockArg [ Text "A" ] ])-, SoftBreak-, Code-    "test/typ/compiler/call-00.typ"-    ( line 18 , column 2 )-    (FuncCall-       (Ident (Identifier "f"))-       [ NormalArg (Block (Content [ Text "A" ])) ])-, ParBreak-, Code-    "test/typ/compiler/call-00.typ"-    ( line 20 , column 2 )-    (LetFunc-       (Identifier "g")-       [ NormalParam (Identifier "a") , NormalParam (Identifier "b") ]-       (Plus (Ident (Identifier "a")) (Ident (Identifier "b"))))-, SoftBreak-, Code-    "test/typ/compiler/call-00.typ"-    ( line 21 , column 2 )-    (FuncCall-       (Ident (Identifier "g"))-       [ BlockArg [ Text "A" ] , BlockArg [ Text "B" ] ])-, SoftBreak-, Code-    "test/typ/compiler/call-00.typ"-    ( line 22 , column 2 )-    (FuncCall-       (Ident (Identifier "g"))-       [ NormalArg (Block (Content [ Text "A" ]))-       , NormalArg (Block (Content [ Text "B" ]))-       ])-, SoftBreak-, Code-    "test/typ/compiler/call-00.typ"-    ( line 23 , column 2 )-    (FuncCall-       (Ident (Identifier "g"))-       [ BlockArg [ Text "A" ] , BlockArg [ Text "B" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 strong(body: text(body: [Bold])), -                 parbreak(), -                 text(body: [-]), -                 text(body: [1]), -                 text(body: [2]), -                 text(body: [3]), -                 parbreak(), -                 text(body: [ (it)]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [A]), -                 text(body: [-]), -                 text(body: [A]), -                 text(body: [-]), -                 text(body: [A]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [A]), -                 text(body: [B]), -                 text(body: [-]), -                 text(body: [A]), -                 text(body: [B]), -                 text(body: [-]), -                 text(body: [A]), -                 text(body: [B]), -                 parbreak() })
− test/out/compiler/call-01.out
@@ -1,114 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/call-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/call-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/call-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/call-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Plus (Literal (Int 1)) (Literal (Int 1)))-       , NormalArg (Literal (Int 2))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/call-01.typ"-    ( line 6 , column 2 )-    (Let-       (BasicBind (Just (Identifier "alias")))-       (Ident (Identifier "type")))-, SoftBreak-, Code-    "test/typ/compiler/call-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "alias"))-              [ NormalArg (Ident (Identifier "alias")) ])-       , NormalArg (Literal (String "function"))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/call-01.typ"-    ( line 10 , column 2 )-    (Block-       (CodeBlock-          [ FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "type")) [ NormalArg (Literal (String "hi")) ])-              , NormalArg (Literal (String "string"))-              ]-          , LetFunc-              (Identifier "adder")-              [ NormalParam (Identifier "dx") ]-              (FuncExpr-                 [ NormalParam (Identifier "x") ]-                 (Plus (Ident (Identifier "x")) (Ident (Identifier "dx"))))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FuncCall-                        (Ident (Identifier "adder")) [ NormalArg (Literal (Int 2)) ])-                     [ NormalArg (Literal (Int 5)) ])-              , NormalArg (Literal (Int 7))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/call-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/call-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/call-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/call-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/call-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/call-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/call-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/call-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/call-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-00.out
@@ -1,64 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/closure-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/closure-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/closure-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, SoftBreak-, Code-    "test/typ/compiler/closure-00.typ"-    ( line 5 , column 2 )-    (Let (BasicBind (Just (Identifier "x"))) (Literal (String "x")))-, ParBreak-, Comment-, Code-    "test/typ/compiler/closure-00.typ"-    ( line 8 , column 2 )-    (FuncExpr-       [ NormalParam (Identifier "x") ] (Ident (Identifier "y")))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 parbreak() })
− test/out/compiler/closure-01.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/closure-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/closure-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/closure-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/closure-01.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "adder")))-              (FuncExpr-                 [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-                 (Plus (Ident (Identifier "x")) (Ident (Identifier "y"))))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "adder"))-                     [ NormalArg (Literal (Int 2)) , NormalArg (Literal (Int 3)) ])-              , NormalArg (Literal (Int 5))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/closure-02.out
@@ -1,91 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/closure-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/closure-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/closure-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/closure-02.typ"-    ( line 4 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "chain")))-              (FuncExpr-                 [ NormalParam (Identifier "f") , NormalParam (Identifier "g") ]-                 (FuncExpr-                    [ NormalParam (Identifier "x") ]-                    (FuncCall-                       (Ident (Identifier "f"))-                       [ NormalArg-                           (FuncCall-                              (Ident (Identifier "g")) [ NormalArg (Ident (Identifier "x")) ])-                       ])))-          , Let-              (BasicBind (Just (Identifier "f")))-              (FuncExpr-                 [ NormalParam (Identifier "x") ]-                 (Plus (Ident (Identifier "x")) (Literal (Int 1))))-          , Let-              (BasicBind (Just (Identifier "g")))-              (FuncExpr-                 [ NormalParam (Identifier "x") ]-                 (Times (Literal (Int 2)) (Ident (Identifier "x"))))-          , Let-              (BasicBind (Just (Identifier "h")))-              (FuncCall-                 (Ident (Identifier "chain"))-                 [ NormalArg (Ident (Identifier "f"))-                 , NormalArg (Ident (Identifier "g"))-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall (Ident (Identifier "h")) [ NormalArg (Literal (Int 2)) ])-              , NormalArg (Literal (Int 5))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/closure-03.out
@@ -1,90 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/closure-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/closure-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/closure-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/closure-03.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let (BasicBind (Just (Identifier "mark"))) (Literal (String "!"))-          , Let-              (BasicBind (Just (Identifier "greet")))-              (Block-                 (CodeBlock-                    [ Let (BasicBind (Just (Identifier "hi"))) (Literal (String "Hi"))-                    , FuncExpr-                        [ NormalParam (Identifier "name") ]-                        (Block-                           (CodeBlock-                              [ Plus-                                  (Plus-                                     (Plus (Ident (Identifier "hi")) (Literal (String ", ")))-                                     (Ident (Identifier "name")))-                                  (Ident (Identifier "mark"))-                              ]))-                    ]))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "greet"))-                     [ NormalArg (Literal (String "Typst")) ])-              , NormalArg (Literal (String "Hi, Typst!"))-              ]-          , Assign (Ident (Identifier "mark")) (Literal (String "?"))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "greet"))-                     [ NormalArg (Literal (String "Typst")) ])-              , NormalArg (Literal (String "Hi, Typst!"))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/closure-04.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/closure-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/closure-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/closure-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/closure-04.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let (BasicBind (Just (Identifier "x"))) (Literal (Int 1))-          , LetFunc-              (Identifier "f")-              []-              (Block-                 (CodeBlock-                    [ Let-                        (BasicBind (Just (Identifier "x")))-                        (Plus (Ident (Identifier "x")) (Literal (Int 2)))-                    , Ident (Identifier "x")-                    ]))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (FuncCall (Ident (Identifier "f")) [])-              , NormalArg (Literal (Int 3))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/closure-05.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/closure-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/closure-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/closure-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/closure-05.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "b"))) (Literal (String "module.typ"))-          , LetFunc-              (Identifier "f")-              []-              (Block-                 (CodeBlock-                    [ Import-                        (Ident (Identifier "b"))-                        (SomeIdentifiers [ ( Identifier "b" , Nothing ) ])-                    , Ident (Identifier "b")-                    ]))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (FuncCall (Ident (Identifier "f")) [])-              , NormalArg (Literal (Int 1))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/closure-06.out
@@ -1,84 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/closure-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/closure-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/closure-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/closure-06.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "v")))-              (Array-                 [ Reg (Literal (Int 1))-                 , Reg (Literal (Int 2))-                 , Reg (Literal (Int 3))-                 ])-          , LetFunc-              (Identifier "f")-              []-              (Block-                 (CodeBlock-                    [ Let (BasicBind (Just (Identifier "s"))) (Literal (Int 0))-                    , For-                        (BasicBind (Just (Identifier "v")))-                        (Ident (Identifier "v"))-                        (Block-                           (CodeBlock-                              [ Assign-                                  (Ident (Identifier "s"))-                                  (Plus (Ident (Identifier "s")) (Ident (Identifier "v")))-                              ]))-                    , Ident (Identifier "s")-                    ]))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (FuncCall (Ident (Identifier "f")) [])-              , NormalArg (Literal (Int 6))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/closure-07.out
@@ -1,69 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/closure-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/closure-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/closure-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/closure-07.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let (BasicBind (Just (Identifier "g"))) (Literal (String "hi"))-          , LetFunc-              (Identifier "f")-              []-              (Block-                 (CodeBlock-                    [ LetFunc (Identifier "g") [] (Literal (String "bye"))-                    , FuncCall (Ident (Identifier "g")) []-                    ]))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (FuncCall (Ident (Identifier "f")) [])-              , NormalArg (Literal (String "bye"))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/closure-08.out
@@ -1,81 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/closure-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/closure-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/closure-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/closure-08.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let (BasicBind (Just (Identifier "x"))) (Literal (Int 5))-          , LetFunc-              (Identifier "g")-              []-              (Block-                 (CodeBlock-                    [ LetFunc-                        (Identifier "f")-                        [ NormalParam (Identifier "x")-                        , DefaultParam (Identifier "y") (Ident (Identifier "x"))-                        ]-                        (Plus (Ident (Identifier "x")) (Ident (Identifier "y")))-                    , Ident (Identifier "f")-                    ]))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FuncCall (Ident (Identifier "g")) [])-                     [ NormalArg (Literal (Int 8)) ])-              , NormalArg (Literal (Int 13))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [❌(]), -                 text(body: [16]), -                 text(body: [ /= ]), -                 text(body: [13]), -                 text(body: [)]), -                 parbreak() })
− test/out/compiler/closure-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-11.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-12.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-13.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-14.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-15.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-16.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-17.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-18.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-19.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/closure-20.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/color-00.out
@@ -1,213 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/color-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/color-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/color-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/color-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "c")))-       (FuncCall-          (Ident (Identifier "cmyk"))-          [ NormalArg (Literal (Numeric 50.0 Percent))-          , NormalArg (Literal (Numeric 64.0 Percent))-          , NormalArg (Literal (Numeric 16.0 Percent))-          , NormalArg (Literal (Numeric 17.0 Percent))-          ]))-, SoftBreak-, Code-    "test/typ/compiler/color-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))-              , KeyValArg-                  (Identifier "fill")-                  (FuncCall-                     (Ident (Identifier "cmyk"))-                     [ NormalArg (Literal (Numeric 69.0 Percent))-                     , NormalArg (Literal (Numeric 11.0 Percent))-                     , NormalArg (Literal (Numeric 69.0 Percent))-                     , NormalArg (Literal (Numeric 41.0 Percent))-                     ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))-              , KeyValArg (Identifier "fill") (Ident (Identifier "c"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))-              , KeyValArg-                  (Identifier "fill")-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "negate")) (Ident (Identifier "c")))-                     [])-              ])-       ])-, ParBreak-, Code-    "test/typ/compiler/color-00.typ"-    ( line 12 , column 2 )-    (For-       (BasicBind (Just (Identifier "x")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 11)) ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "box"))-                 [ NormalArg-                     (FuncCall-                        (Ident (Identifier "square"))-                        [ KeyValArg (Identifier "size") (Literal (Numeric 9.0 Pt))-                        , KeyValArg-                            (Identifier "fill")-                            (FuncCall-                               (FieldAccess-                                  (Ident (Identifier "lighten")) (Ident (Identifier "c")))-                               [ NormalArg-                                   (Times (Ident (Identifier "x")) (Literal (Numeric 10.0 Percent)))-                               ])-                        ])-                 ]-             ])))-, SoftBreak-, Code-    "test/typ/compiler/color-00.typ"-    ( line 15 , column 2 )-    (For-       (BasicBind (Just (Identifier "x")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 11)) ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "box"))-                 [ NormalArg-                     (FuncCall-                        (Ident (Identifier "square"))-                        [ KeyValArg (Identifier "size") (Literal (Numeric 9.0 Pt))-                        , KeyValArg-                            (Identifier "fill")-                            (FuncCall-                               (FieldAccess-                                  (Ident (Identifier "darken")) (Ident (Identifier "c")))-                               [ NormalArg-                                   (Times (Ident (Identifier "x")) (Literal (Numeric 10.0 Percent)))-                               ])-                        ])-                 ]-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 stack(children: (rect(fill: cmyk(69%,11%,69%,41%), -                                       width: 1.0cm), -                                  rect(fill: cmyk(50%,64%,16%,17%), -                                       width: 1.0cm), -                                  rect(fill: cmyk(50%,36%,84%,17%), -                                       width: 1.0cm)), -                       dir: ltr, -                       spacing: 1.0fr), -                 parbreak(), -                 box(body: square(fill: cmyk(50%,64%,16%,17%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(55%,67%,24%,25%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(60%,71%,32%,33%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(65%,74%,41%,41%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(70%,78%,49%,50%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(75%,82%,58%,58%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(80%,85%,66%,66%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(85%,89%,74%,75%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(90%,92%,83%,83%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(95%,96%,91%,91%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(100%,100%,100%,100%), -                                  size: 9.0pt)), -                 text(body: [-]), -                 box(body: square(fill: cmyk(50%,64%,16%,17%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(45%,57%,14%,15%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(40%,51%,12%,13%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(35%,44%,11%,11%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(30%,38%,9%,10%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(25%,32%,8%,8%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(20%,25%,6%,6%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(15%,19%,4%,5%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(10%,12%,3%,3%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(5%,6%,1%,1%), -                                  size: 9.0pt)), -                 box(body: square(fill: cmyk(0%,0%,0%,0%), -                                  size: 9.0pt)), -                 parbreak() })
− test/out/compiler/color-01.out
@@ -1,116 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/color-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/color-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/color-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/color-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "lighten"))-                 (FuncCall-                    (Ident (Identifier "luma"))-                    [ NormalArg (Literal (Numeric 20.0 Percent)) ]))-              [ NormalArg (Literal (Numeric 50.0 Percent)) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "luma"))-              [ NormalArg (Literal (Numeric 60.0 Percent)) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/color-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "darken"))-                 (FuncCall-                    (Ident (Identifier "luma"))-                    [ NormalArg (Literal (Numeric 80.0 Percent)) ]))-              [ NormalArg (Literal (Numeric 20.0 Percent)) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "luma"))-              [ NormalArg (Literal (Numeric 63.9 Percent)) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/color-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "negate"))-                 (FuncCall-                    (Ident (Identifier "luma"))-                    [ NormalArg (Literal (Numeric 80.0 Percent)) ]))-              [])-       , NormalArg-           (FuncCall-              (Ident (Identifier "luma"))-              [ NormalArg (Literal (Numeric 20.0 Percent)) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: [luma(64%)]), -                 text(body: [ /= ]), -                 text(body: [luma(63%)]), -                 text(body: [)]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/comment-00.out
@@ -1,88 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/comment-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/comment-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/comment-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Comment-, Text "B"-, ParBreak-, Comment-, Text "C"-, Comment-, Text "D"-, ParBreak-, Comment-, Code-    "test/typ/compiler/comment-00.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type")) [ NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (String "integer"))-       ])-, ParBreak-, Comment-, Comment-, SoftBreak-, Comment-, Comment-, ParBreak-, Text "E"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A]), -                 text(body: [B]), -                 parbreak(), -                 text(body: [C]), -                 text(body: [D]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [-]), -                 parbreak(), -                 text(body: [E]), -                 parbreak() })
− test/out/compiler/comment-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/construct-00.out
@@ -1,74 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/construct-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/construct-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/construct-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/construct-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "leading") (Literal (Numeric 2.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/compiler/construct-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "list"))-       [ KeyValArg (Identifier "body-indent") (Literal (Numeric 20.0 Pt))-       , NormalArg (Block (Content [ Text "First" ]))-       , NormalArg-           (FuncCall-              (Ident (Identifier "list"))-              [ BlockArg [ Text "A" ] , BlockArg [ Text "B" ] ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 list(body-indent: 20.0pt, -                      children: (text(body: [First]), -                                 list(children: (text(body: [A]), -                                                 text(body: [B]))))), -                 parbreak() })
− test/out/compiler/construct-01.out
@@ -1,90 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/construct-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/construct-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/construct-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Comment-, Code-    "test/typ/compiler/construct-01.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "list"))-       [ KeyValArg (Identifier "marker") (Block (Content [ Text ">" ])) ])-, SoftBreak-, Code-    "test/typ/compiler/construct-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "list"))-       [ KeyValArg (Identifier "marker") (Block (Content [ EnDash ]))-       , BlockArg-           [ SoftBreak-           , Code-               "test/typ/compiler/construct-01.typ"-               ( line 7 , column 4 )-               (FuncCall-                  (Ident (Identifier "rect"))-                  [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Cm))-                  , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-                  , KeyValArg (Identifier "inset") (Literal (Numeric 4.0 Pt))-                  , NormalArg-                      (FuncCall (Ident (Identifier "list")) [ BlockArg [ Text "A" ] ])-                  ])-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 list(children: ({ text(body: [-]), -                                   rect(body: list(children: (text(body: [A])), -                                                   marker: text(body: [>])), -                                        fill: rgb(18%,80%,25%,100%), -                                        inset: 4.0pt, -                                        width: 2.0cm), -                                   parbreak() }), -                      marker: text(body: [–])), -                 parbreak() })
− test/out/compiler/construct-02.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/construct-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/construct-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/construct-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/construct-02.typ"-    ( line 4 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/compiler/construct-02.typ"-              ( line 4 , column 4 )-              (Set-                 (Ident (Identifier "rect"))-                 [ KeyValArg (Identifier "fill") (Ident (Identifier "yellow")) ])-          , Code-              "test/typ/compiler/construct-02.typ"-              ( line 4 , column 28 )-              (FuncCall-                 (Ident (Identifier "text"))-                 [ NormalArg (Literal (Numeric 1.0 Em))-                 , NormalArg-                     (FuncCall-                        (Ident (Identifier "rect"))-                        [ KeyValArg (Identifier "inset") (Literal (Numeric 5.0 Pt))-                        , NormalArg (FuncCall (Ident (Identifier "rect")) [])-                        ])-                 ])-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: rect(body: rect(fill: rgb(100%,86%,0%,100%)), -                                 fill: rgb(100%,86%,0%,100%), -                                 inset: 5.0pt), -                      size: 1.0em), -                 parbreak() })
− test/out/compiler/construct-03.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/construct-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/construct-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/construct-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Space-, Code-    "test/typ/compiler/construct-03.typ"-    ( line 3 , column 4 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "yellow"))-              , KeyValArg (Identifier "inset") (Literal (Numeric 5.0 Pt))-              , NormalArg (FuncCall (Ident (Identifier "rect")) [])-              ])-       ])-, Space-, Text "B"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A ]), -                 box(body: rect(body: rect(), -                                fill: rgb(100%,86%,0%,100%), -                                inset: 5.0pt)), -                 text(body: [ B]), -                 parbreak() })
− test/out/compiler/construct-04.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/construct-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/construct-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/construct-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/construct-04.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Ident (Identifier "enum")))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Ident (Identifier "blue")) ]))-, SoftBreak-, Code-    "test/typ/compiler/construct-04.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "enum"))-       [ KeyValArg (Identifier "numbering") (Literal (String "(a)"))-       , NormalArg (Block (Content [ Text "A" ]))-       , NormalArg-           (FuncCall (Ident (Identifier "enum")) [ BlockArg [ Text "B" ] ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 enum(children: (text(body: [A]), -                                 enum(children: (text(body: [B])))), -                      numbering: "(a)"), -                 parbreak() })
− test/out/compiler/content-field-00.out
@@ -1,330 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/content-field-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/content-field-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/content-field-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/content-field-00.typ"-    ( line 4 , column 2 )-    (LetFunc-       (Identifier "compute")-       [ NormalParam (Identifier "equation")-       , SinkParam (Just (Identifier "vars"))-       ]-       (Block-          (CodeBlock-             [ Let-                 (BasicBind (Just (Identifier "vars")))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "named")) (Ident (Identifier "vars")))-                    [])-             , LetFunc-                 (Identifier "f")-                 [ NormalParam (Identifier "elem") ]-                 (Block-                    (CodeBlock-                       [ Let-                           (BasicBind (Just (Identifier "func")))-                           (FuncCall-                              (FieldAccess-                                 (Ident (Identifier "func")) (Ident (Identifier "elem")))-                              [])-                       , If-                           [ ( Equals (Ident (Identifier "func")) (Ident (Identifier "text"))-                             , Block-                                 (CodeBlock-                                    [ Let-                                        (BasicBind (Just (Identifier "text")))-                                        (FieldAccess-                                           (Ident (Identifier "text")) (Ident (Identifier "elem")))-                                    , If-                                        [ ( InCollection-                                              (FuncCall-                                                 (Ident (Identifier "regex"))-                                                 [ NormalArg (Literal (String "^\\d+$")) ])-                                              (Ident (Identifier "text"))-                                          , Block-                                              (CodeBlock-                                                 [ FuncCall-                                                     (Ident (Identifier "int"))-                                                     [ NormalArg (Ident (Identifier "text")) ]-                                                 ])-                                          )-                                        , ( InCollection-                                              (Ident (Identifier "text"))-                                              (Ident (Identifier "vars"))-                                          , Block-                                              (CodeBlock-                                                 [ FuncCall-                                                     (Ident (Identifier "int"))-                                                     [ NormalArg-                                                         (FuncCall-                                                            (FieldAccess-                                                               (Ident (Identifier "at"))-                                                               (Ident (Identifier "vars")))-                                                            [ NormalArg (Ident (Identifier "text"))-                                                            ])-                                                     ]-                                                 ])-                                          )-                                        , ( Literal (Boolean True)-                                          , Block-                                              (CodeBlock-                                                 [ FuncCall-                                                     (Ident (Identifier "panic"))-                                                     [ NormalArg-                                                         (Plus-                                                            (Literal-                                                               (String "unknown math variable: "))-                                                            (Ident (Identifier "text")))-                                                     ]-                                                 ])-                                          )-                                        ]-                                    ])-                             )-                           , ( Equals-                                 (Ident (Identifier "func"))-                                 (FieldAccess-                                    (Ident (Identifier "attach")) (Ident (Identifier "math")))-                             , Block-                                 (CodeBlock-                                    [ Let-                                        (BasicBind (Just (Identifier "value")))-                                        (FuncCall-                                           (Ident (Identifier "f"))-                                           [ NormalArg-                                               (FieldAccess-                                                  (Ident (Identifier "base"))-                                                  (Ident (Identifier "elem")))-                                           ])-                                    , If-                                        [ ( FuncCall-                                              (FieldAccess-                                                 (Ident (Identifier "has"))-                                                 (Ident (Identifier "elem")))-                                              [ NormalArg (Literal (String "t")) ]-                                          , Block-                                              (CodeBlock-                                                 [ Assign-                                                     (Ident (Identifier "value"))-                                                     (FuncCall-                                                        (FieldAccess-                                                           (Ident (Identifier "pow"))-                                                           (Ident (Identifier "calc")))-                                                        [ NormalArg (Ident (Identifier "value"))-                                                        , NormalArg-                                                            (FuncCall-                                                               (Ident (Identifier "f"))-                                                               [ NormalArg-                                                                   (FieldAccess-                                                                      (Ident (Identifier "t"))-                                                                      (Ident (Identifier "elem")))-                                                               ])-                                                        ])-                                                 ])-                                          )-                                        ]-                                    , Ident (Identifier "value")-                                    ])-                             )-                           , ( FuncCall-                                 (FieldAccess-                                    (Ident (Identifier "has")) (Ident (Identifier "elem")))-                                 [ NormalArg (Literal (String "children")) ]-                             , Block-                                 (CodeBlock-                                    [ FuncCall-                                        (FieldAccess-                                           (Ident (Identifier "fold"))-                                           (FuncCall-                                              (FieldAccess-                                                 (Ident (Identifier "map"))-                                                 (FuncCall-                                                    (FieldAccess-                                                       (Ident (Identifier "split"))-                                                       (FuncCall-                                                          (FieldAccess-                                                             (Ident (Identifier "filter"))-                                                             (FieldAccess-                                                                (Ident (Identifier "children"))-                                                                (Ident (Identifier "elem"))))-                                                          [ NormalArg-                                                              (FuncExpr-                                                                 [ NormalParam (Identifier "v") ]-                                                                 (Not-                                                                    (Equals-                                                                       (Ident (Identifier "v"))-                                                                       (Block-                                                                          (Content [ Space ])))))-                                                          ]))-                                                    [ BlockArg [ EnumListItem Nothing [] ] ]))-                                              [ NormalArg-                                                  (FuncExpr-                                                     [ NormalParam (Identifier "xs") ]-                                                     (FuncCall-                                                        (FieldAccess-                                                           (Ident (Identifier "fold"))-                                                           (Ident (Identifier "xs")))-                                                        [ NormalArg (Literal (Int 1))-                                                        , NormalArg-                                                            (FuncExpr-                                                               [ NormalParam (Identifier "prod")-                                                               , NormalParam (Identifier "v")-                                                               ]-                                                               (Times-                                                                  (Ident (Identifier "prod"))-                                                                  (FuncCall-                                                                     (Ident (Identifier "f"))-                                                                     [ NormalArg-                                                                         (Ident (Identifier "v"))-                                                                     ])))-                                                        ]))-                                              ]))-                                        [ NormalArg (Literal (Int 0))-                                        , NormalArg-                                            (FuncExpr-                                               [ NormalParam (Identifier "sum")-                                               , NormalParam (Identifier "v")-                                               ]-                                               (Plus-                                                  (Ident (Identifier "sum"))-                                                  (Ident (Identifier "v"))))-                                        ]-                                    ])-                             )-                           ]-                       ]))-             , Let-                 (BasicBind (Just (Identifier "result")))-                 (FuncCall-                    (Ident (Identifier "f"))-                    [ NormalArg-                        (FieldAccess-                           (Ident (Identifier "body")) (Ident (Identifier "equation")))-                    ])-             , Block (Content [ Text "With" , Space ])-             , FuncCall-                 (FieldAccess-                    (Ident (Identifier "join"))-                    (FuncCall-                       (FieldAccess-                          (Ident (Identifier "map"))-                          (FuncCall-                             (FieldAccess-                                (Ident (Identifier "pairs")) (Ident (Identifier "vars")))-                             []))-                       [ NormalArg-                           (FuncExpr-                              [ NormalParam (Identifier "p") ]-                              (Block-                                 (Content-                                    [ Equation-                                        False-                                        [ Code-                                            "test/typ/compiler/content-field-00.typ"-                                            ( line 36 , column 17 )-                                            (FuncCall-                                               (FieldAccess-                                                  (Ident (Identifier "first"))-                                                  (Ident (Identifier "p")))-                                               [])-                                        , Text "="-                                        , Code-                                            "test/typ/compiler/content-field-00.typ"-                                            ( line 36 , column 30 )-                                            (FuncCall-                                               (FieldAccess-                                                  (Ident (Identifier "last"))-                                                  (Ident (Identifier "p")))-                                               [])-                                        ]-                                    ])))-                       ]))-                 [ NormalArg (Literal (String ", "))-                 , KeyValArg (Identifier "last") (Literal (String " and "))-                 ]-             , Block-                 (Content [ Space , Text "we" , Space , Text "have" , Text ":" ])-             , Block-                 (Content-                    [ Equation-                        True-                        [ Code-                            "test/typ/compiler/content-field-00.typ"-                            ( line 39 , column 5 )-                            (Ident (Identifier "equation"))-                        , Text "="-                        , Code-                            "test/typ/compiler/content-field-00.typ"-                            ( line 39 , column 16 )-                            (Ident (Identifier "result"))-                        ]-                    ])-             ])))-, ParBreak-, Code-    "test/typ/compiler/content-field-00.typ"-    ( line 42 , column 2 )-    (FuncCall-       (Ident (Identifier "compute"))-       [ NormalArg-           (Block-              (Content-                 [ Equation-                     False-                     [ Text "x"-                     , Text "y"-                     , Text "+"-                     , MAttach Nothing (Just (Text "2")) (Text "y")-                     ]-                 ]))-       , KeyValArg (Identifier "x") (Literal (Int 2))-       , KeyValArg (Identifier "y") (Literal (Int 3))-       ])-, ParBreak-]-"test/typ/compiler/content-field-00.typ" (line 42, column 2):-unexpected end of input-expecting end of input-panicked with: "unknown math variable: +"-
− test/out/compiler/dict-00.out
@@ -1,103 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/dict-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/dict-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/dict-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/dict-00.typ" ( line 5 , column 2 ) (Dict [])-, ParBreak-, Comment-, Code-    "test/typ/compiler/dict-00.typ"-    ( line 8 , column 2 )-    (Let-       (BasicBind (Just (Identifier "dict")))-       (Dict-          [ Reg ( Ident (Identifier "normal") , Literal (Int 1) )-          , Reg ( Literal (String "spacy key") , Literal (Int 2) )-          ]))-, SoftBreak-, Code-    "test/typ/compiler/dict-00.typ"-    ( line 9 , column 2 )-    (Ident (Identifier "dict"))-, ParBreak-, Code-    "test/typ/compiler/dict-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "normal")) (Ident (Identifier "dict")))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/dict-00.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "dict")))-              [ NormalArg (Literal (String "spacy key")) ])-       , NormalArg (Literal (Int 2))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [()]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [(normal: 1, spacy key: 2)]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/dict-01.out
@@ -1,130 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/dict-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/dict-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/dict-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/dict-01.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "dict")))-              (Dict-                 [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-                 , Reg ( Literal (String "b b") , Literal (Int 1) )-                 ])-          , Assign-              (FuncCall-                 (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "dict")))-                 [ NormalArg (Literal (String "b b")) ])-              (Plus-                 (FuncCall-                    (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "dict")))-                    [ NormalArg (Literal (String "b b")) ])-                 (Literal (Int 1)))-          , Assign-              (FieldAccess-                 (Ident (Identifier "state")) (Ident (Identifier "dict")))-              (Dict-                 [ Reg ( Ident (Identifier "ok") , Literal (Boolean True) )-                 , Reg ( Ident (Identifier "err") , Literal (Boolean False) )-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "dict"))-              , NormalArg-                  (Dict-                     [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-                     , Reg ( Literal (String "b b") , Literal (Int 2) )-                     , Reg-                         ( Ident (Identifier "state")-                         , Dict-                             [ Reg ( Ident (Identifier "ok") , Literal (Boolean True) )-                             , Reg ( Ident (Identifier "err") , Literal (Boolean False) )-                             ]-                         )-                     ])-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FieldAccess-                     (Ident (Identifier "ok"))-                     (FieldAccess-                        (Ident (Identifier "state")) (Ident (Identifier "dict"))))-              , NormalArg (Literal (Boolean True))-              ]-          , Assign-              (FieldAccess-                 (Ident (Identifier "ok"))-                 (FuncCall-                    (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "dict")))-                    [ NormalArg (Literal (String "state")) ]))-              (Literal (Boolean False))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FieldAccess-                     (Ident (Identifier "ok"))-                     (FieldAccess-                        (Ident (Identifier "state")) (Ident (Identifier "dict"))))-              , NormalArg (Literal (Boolean False))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FieldAccess-                     (Ident (Identifier "err"))-                     (FieldAccess-                        (Ident (Identifier "state")) (Ident (Identifier "dict"))))-              , NormalArg (Literal (Boolean False))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/dict-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/dict-03.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/dict-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/dict-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/dict-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/dict-03.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "at"))-                 (Dict-                    [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-                    , Reg ( Ident (Identifier "b") , Literal (Int 2) )-                    ]))-              [ NormalArg (Literal (String "b"))-              , KeyValArg (Identifier "default") (Literal (Int 3))-              ])-       , NormalArg (Literal (Int 2))-       ])-, SoftBreak-, Code-    "test/typ/compiler/dict-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "at"))-                 (Dict-                    [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-                    , Reg ( Ident (Identifier "b") , Literal (Int 2) )-                    ]))-              [ NormalArg (Literal (String "c"))-              , KeyValArg (Identifier "default") (Literal (Int 3))-              ])-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/dict-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/dict-05.out
@@ -1,186 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/dict-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/dict-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/dict-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/dict-05.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "dict")))-       (Dict-          [ Reg ( Ident (Identifier "a") , Literal (Int 3) )-          , Reg ( Ident (Identifier "c") , Literal (Int 2) )-          , Reg ( Ident (Identifier "b") , Literal (Int 1) )-          ]))-, SoftBreak-, Code-    "test/typ/compiler/dict-05.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection (Literal (String "c")) (Ident (Identifier "dict")))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/dict-05.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "len")) (Ident (Identifier "dict")))-              [])-       , NormalArg (Literal (Int 3))-       ])-, SoftBreak-, Code-    "test/typ/compiler/dict-05.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "values")) (Ident (Identifier "dict")))-              [])-       , NormalArg-           (Array-              [ Reg (Literal (Int 3))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 1))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/dict-05.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "join"))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "map"))-                       (FuncCall-                          (FieldAccess-                             (Ident (Identifier "pairs")) (Ident (Identifier "dict")))-                          []))-                    [ NormalArg-                        (FuncExpr-                           [ NormalParam (Identifier "p") ]-                           (Plus-                              (FuncCall-                                 (FieldAccess (Ident (Identifier "first")) (Ident (Identifier "p")))-                                 [])-                              (FuncCall-                                 (Ident (Identifier "str"))-                                 [ NormalArg-                                     (FuncCall-                                        (FieldAccess-                                           (Ident (Identifier "last")) (Ident (Identifier "p")))-                                        [])-                                 ])))-                    ]))-              [])-       , NormalArg (Literal (String "a3c2b1"))-       ])-, ParBreak-, Code-    "test/typ/compiler/dict-05.typ"-    ( line 9 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "remove")) (Ident (Identifier "dict")))-       [ NormalArg (Literal (String "c")) ])-, SoftBreak-, Code-    "test/typ/compiler/dict-05.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection (Literal (String "c")) (Ident (Identifier "dict")))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/dict-05.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "dict"))-       , NormalArg-           (Dict-              [ Reg ( Ident (Identifier "a") , Literal (Int 3) )-              , Reg ( Ident (Identifier "b") , Literal (Int 1) )-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [2]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/dict-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/dict-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/dict-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/dict-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/dict-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/field-00.out
@@ -1,90 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/field-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/field-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/field-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/field-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "dict")))-       (Dict-          [ Reg ( Ident (Identifier "nothing") , Literal (String "ness") )-          , Reg ( Ident (Identifier "hello") , Literal (String "world") )-          ]))-, SoftBreak-, Code-    "test/typ/compiler/field-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "nothing")) (Ident (Identifier "dict")))-       , NormalArg (Literal (String "ness"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/field-00.typ"-    ( line 5 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "world")))-              (FieldAccess-                 (Ident (Identifier "hello")) (Ident (Identifier "dict")))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "world"))-              , NormalArg (Literal (String "world"))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/field-01.out
@@ -1,75 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/field-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/field-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/field-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/field-01.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "list")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (CodeBlock-                [ FuncCall-                    (Ident (Identifier "test"))-                    [ NormalArg-                        (FuncCall-                           (FieldAccess-                              (Ident (Identifier "len"))-                              (FieldAccess-                                 (Ident (Identifier "children")) (Ident (Identifier "it"))))-                           [])-                    , NormalArg (Literal (Int 3))-                    ]-                ]))))-, ParBreak-, BulletListItem [ Text "A" ]-, SoftBreak-, BulletListItem [ Text "B" ]-, SoftBreak-, BulletListItem [ Text "C" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [✅]) })
− test/out/compiler/field-02.out
@@ -1,69 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/field-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/field-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/field-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/field-02.typ"-    ( line 3 , column 2 )-    (FieldAccess-       (Ident (Identifier "item")) (Ident (Identifier "enum")))-, SoftBreak-, Code-    "test/typ/compiler/field-02.typ"-    ( line 4 , column 2 )-    (FieldAccess-       (Ident (Identifier "eq")) (Ident (Identifier "assert")))-, SoftBreak-, Code-    "test/typ/compiler/field-02.typ"-    ( line 5 , column 2 )-    (FieldAccess-       (Ident (Identifier "ne")) (Ident (Identifier "assert")))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak() })
− test/out/compiler/field-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/field-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/field-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/field-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/field-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/field-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/field-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/field-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/for-00.out
@@ -1,302 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/for-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/for-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/for-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/for-00.typ"-    ( line 5 , column 2 )-    (For-       (BasicBind (Just (Identifier "x")))-       (Array [])-       (Block (Content [ Text "Nope" ])))-, ParBreak-, Comment-, Comment-, Code-    "test/typ/compiler/for-00.typ"-    ( line 9 , column 2 )-    (For-       (DestructuringBind-          [ Simple (Just (Identifier "k"))-          , Simple (Just (Identifier "v"))-          ])-       (Dict-          [ Reg ( Ident (Identifier "Name") , Literal (String "Typst") )-          , Reg ( Ident (Identifier "Age") , Literal (Int 2) )-          ])-       (Block-          (Content-             [ SoftBreak-             , Code-                 "test/typ/compiler/for-00.typ"-                 ( line 10 , column 4 )-                 (Ident (Identifier "k"))-             , Text ":"-             , Space-             , Code-                 "test/typ/compiler/for-00.typ"-                 ( line 10 , column 8 )-                 (Ident (Identifier "v"))-             , Text "."-             , ParBreak-             ])))-, ParBreak-, Comment-, Comment-, Code-    "test/typ/compiler/for-00.typ"-    ( line 15 , column 2 )-    (Block-       (CodeBlock-          [ Literal (String "[")-          , For-              (BasicBind (Just (Identifier "v")))-              (Array-                 [ Reg (Literal (Int 1))-                 , Reg (Literal (Int 2))-                 , Reg (Literal (Int 3))-                 , Reg (Literal (Int 4))-                 ])-              (Block-                 (CodeBlock-                    [ If-                        [ ( GreaterThan (Ident (Identifier "v")) (Literal (Int 1))-                          , Block (Content [ Text "," , Space ])-                          )-                        ]-                    , Block-                        (Content-                           [ Code-                               "test/typ/compiler/for-00.typ"-                               ( line 19 , column 7 )-                               (Ident (Identifier "v"))-                           ])-                    , If-                        [ ( Equals (Ident (Identifier "v")) (Literal (Int 1))-                          , Block (Content [ Text "st" ])-                          )-                        ]-                    , If-                        [ ( Equals (Ident (Identifier "v")) (Literal (Int 2))-                          , Block (Content [ Text "nd" ])-                          )-                        ]-                    , If-                        [ ( Equals (Ident (Identifier "v")) (Literal (Int 3))-                          , Block (Content [ Text "rd" ])-                          )-                        ]-                    , If-                        [ ( GreaterThanOrEqual (Ident (Identifier "v")) (Literal (Int 4))-                          , Block (Content [ Text "th" ])-                          )-                        ]-                    ]))-          , Literal (String "]")-          ]))-, ParBreak-, Comment-, Comment-, Code-    "test/typ/compiler/for-00.typ"-    ( line 30 , column 2 )-    (For-       (BasicBind (Just (Identifier "v")))-       (Array-          [ Reg (Literal (Int 1))-          , Reg (Literal (Int 2))-          , Reg (Literal (Int 3))-          , Reg (Literal (Int 4))-          , Reg (Literal (Int 5))-          , Reg (Literal (Int 6))-          , Reg (Literal (Int 7))-          ])-       (Block-          (Content-             [ Code-                 "test/typ/compiler/for-00.typ"-                 ( line 30 , column 35 )-                 (If-                    [ ( And-                          (GreaterThanOrEqual (Ident (Identifier "v")) (Literal (Int 2)))-                          (LessThanOrEqual (Ident (Identifier "v")) (Literal (Int 5)))-                      , Block-                          (CodeBlock-                             [ FuncCall-                                 (Ident (Identifier "repr")) [ NormalArg (Ident (Identifier "v")) ]-                             ])-                      )-                    ])-             ])))-, ParBreak-, Comment-, Code-    "test/typ/compiler/for-00.typ"-    ( line 33 , column 2 )-    (LetFunc-       (Identifier "f1")-       [ SinkParam (Just (Identifier "args")) ]-       (FuncCall-          (FieldAccess-             (Ident (Identifier "map"))-             (FuncCall-                (FieldAccess-                   (Ident (Identifier "pos")) (Ident (Identifier "args")))-                []))-          [ NormalArg (Ident (Identifier "repr")) ]))-, SoftBreak-, Code-    "test/typ/compiler/for-00.typ"-    ( line 34 , column 2 )-    (LetFunc-       (Identifier "f2")-       [ SinkParam (Just (Identifier "args")) ]-       (FuncCall-          (FieldAccess-             (Ident (Identifier "map"))-             (FuncCall-                (FieldAccess-                   (Ident (Identifier "pairs"))-                   (FuncCall-                      (FieldAccess-                         (Ident (Identifier "named")) (Ident (Identifier "args")))-                      []))-                []))-          [ NormalArg-              (FuncExpr-                 [ NormalParam (Identifier "p") ]-                 (Plus-                    (Plus-                       (FuncCall-                          (Ident (Identifier "repr"))-                          [ NormalArg-                              (FuncCall-                                 (FieldAccess (Ident (Identifier "first")) (Ident (Identifier "p")))-                                 [])-                          ])-                       (Literal (String ": ")))-                    (FuncCall-                       (Ident (Identifier "repr"))-                       [ NormalArg-                           (FuncCall-                              (FieldAccess (Ident (Identifier "last")) (Ident (Identifier "p")))-                              [])-                       ])))-          ]))-, SoftBreak-, Code-    "test/typ/compiler/for-00.typ"-    ( line 35 , column 2 )-    (LetFunc-       (Identifier "f")-       [ SinkParam (Just (Identifier "args")) ]-       (FuncCall-          (FieldAccess-             (Ident (Identifier "join"))-             (Plus-                (FuncCall-                   (Ident (Identifier "f1"))-                   [ SpreadArg (Ident (Identifier "args")) ])-                (FuncCall-                   (Ident (Identifier "f2"))-                   [ SpreadArg (Ident (Identifier "args")) ])))-          [ NormalArg (Literal (String ", ")) ]))-, SoftBreak-, Code-    "test/typ/compiler/for-00.typ"-    ( line 36 , column 2 )-    (FuncCall-       (Ident (Identifier "f"))-       [ NormalArg (Literal (Int 1))-       , KeyValArg (Identifier "a") (Literal (Int 2))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [Name]), -                 text(body: [: ]), -                 text(body: [Typst]), -                 text(body: [.]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [Age]), -                 text(body: [: ]), -                 text(body: [2]), -                 text(body: [.]), -                 parbreak(), -                 parbreak(), -                 text(body: [[]), -                 text(body: [1]), -                 text(body: [st]), -                 text(body: [, ]), -                 text(body: [2]), -                 text(body: [nd]), -                 text(body: [, ]), -                 text(body: [3]), -                 text(body: [rd]), -                 text(body: [, ]), -                 text(body: [4]), -                 text(body: [th]), -                 text(body: []]), -                 parbreak(), -                 text(body: [2]), -                 text(body: [3]), -                 text(body: [4]), -                 text(body: [5]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [1, "a": 2]), -                 parbreak() })
− test/out/compiler/for-01.out
@@ -1,260 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/for-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/for-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/for-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compiler/for-01.typ"-    ( line 2 , column 2 )-    (Let (BasicBind (Just (Identifier "out"))) (Array []))-, ParBreak-, Comment-, Code-    "test/typ/compiler/for-01.typ"-    ( line 5 , column 2 )-    (For-       (BasicBind (Just (Identifier "v")))-       (Array-          [ Reg (Literal (Int 1))-          , Reg (Literal (Int 2))-          , Reg (Literal (Int 3))-          ])-       (Block-          (CodeBlock-             [ Assign-                 (Ident (Identifier "out"))-                 (Plus-                    (Ident (Identifier "out"))-                    (Array [ Reg (Ident (Identifier "v")) ]))-             ])))-, ParBreak-, Comment-, Code-    "test/typ/compiler/for-01.typ"-    ( line 10 , column 2 )-    (For-       (DestructuringBind-          [ Simple (Just (Identifier "i"))-          , Simple (Just (Identifier "v"))-          ])-       (FuncCall-          (FieldAccess-             (Ident (Identifier "enumerate"))-             (Array-                [ Reg (Literal (String "1"))-                , Reg (Literal (String "2"))-                , Reg (Literal (String "3"))-                ]))-          [])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "test"))-                 [ NormalArg-                     (FuncCall-                        (Ident (Identifier "repr"))-                        [ NormalArg (Plus (Ident (Identifier "i")) (Literal (Int 1))) ])-                 , NormalArg (Ident (Identifier "v"))-                 ]-             ])))-, ParBreak-, Comment-, Code-    "test/typ/compiler/for-01.typ"-    ( line 15 , column 2 )-    (For-       (BasicBind (Just (Identifier "v")))-       (Dict-          [ Reg ( Ident (Identifier "a") , Literal (Int 4) )-          , Reg ( Ident (Identifier "b") , Literal (Int 5) )-          ])-       (Block-          (CodeBlock-             [ Assign-                 (Ident (Identifier "out"))-                 (Plus-                    (Ident (Identifier "out"))-                    (Array [ Reg (Ident (Identifier "v")) ]))-             ])))-, ParBreak-, Comment-, Code-    "test/typ/compiler/for-01.typ"-    ( line 20 , column 2 )-    (For-       (DestructuringBind-          [ Simple (Just (Identifier "k"))-          , Simple (Just (Identifier "v"))-          ])-       (Dict-          [ Reg ( Ident (Identifier "a") , Literal (Int 6) )-          , Reg ( Ident (Identifier "b") , Literal (Int 7) )-          ])-       (Block-          (CodeBlock-             [ Assign-                 (Ident (Identifier "out"))-                 (Plus-                    (Ident (Identifier "out"))-                    (Array [ Reg (Ident (Identifier "k")) ]))-             , Assign-                 (Ident (Identifier "out"))-                 (Plus-                    (Ident (Identifier "out"))-                    (Array [ Reg (Ident (Identifier "v")) ]))-             ])))-, ParBreak-, Code-    "test/typ/compiler/for-01.typ"-    ( line 25 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "out"))-       , NormalArg-           (Array-              [ Reg (Literal (Int 1))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              , Reg-                  (Array [ Reg (Literal (String "a")) , Reg (Literal (Int 4)) ])-              , Reg-                  (Array [ Reg (Literal (String "b")) , Reg (Literal (Int 5)) ])-              , Reg (Literal (String "a"))-              , Reg (Literal (Int 6))-              , Reg (Literal (String "b"))-              , Reg (Literal (Int 7))-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/for-01.typ"-    ( line 28 , column 2 )-    (Let-       (BasicBind (Just (Identifier "first"))) (Literal (Boolean True)))-, SoftBreak-, Code-    "test/typ/compiler/for-01.typ"-    ( line 29 , column 2 )-    (Let-       (BasicBind (Just (Identifier "joined")))-       (For-          (BasicBind (Just (Identifier "c")))-          (Literal (String "abc\128105\8205\128105\8205\128102\8205\128102"))-          (Block-             (CodeBlock-                [ If-                    [ ( Not (Ident (Identifier "first"))-                      , Block (CodeBlock [ Literal (String ", ") ])-                      )-                    ]-                , Assign (Ident (Identifier "first")) (Literal (Boolean False))-                , Ident (Identifier "c")-                ]))))-, ParBreak-, Code-    "test/typ/compiler/for-01.typ"-    ( line 35 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "joined"))-       , NormalArg-           (Literal-              (String "a, b, c, \128105\8205\128105\8205\128102\8205\128102"))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/for-01.typ"-    ( line 38 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (For-              (BasicBind (Just (Identifier "v")))-              (Literal (String ""))-              (Block (Content [])))-       , NormalArg (Literal None)-       ])-, SoftBreak-, Code-    "test/typ/compiler/for-01.typ"-    ( line 39 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg-                  (For-                     (BasicBind (Just (Identifier "v")))-                     (Literal (String "1"))-                     (Block (Content [])))-              ])-       , NormalArg (Literal (String "content"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [-]), -                 parbreak(), -                 text(body: [❌(]), -                 text(body: ["a, b, c, 👩, ‍, 👩, ‍, 👦, ‍, 👦"]), -                 text(body: [ /= ]), -                 text(body: ["a, b, c, 👩‍👩‍👦‍👦"]), -                 text(body: [)]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/for-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/for-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/for-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/highlight-00.out
@@ -1,61 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/highlight-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/highlight-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/highlight-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compiler/highlight-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto) ])-, ParBreak-, RawBlock-    "typ"-    "#set hello()\n#set hello()\n#set hello.world()\n#set hello.my.world()\n#let foo(x) = x * 2\n#show heading: func\n#show module.func: func\n#show module.func: it => {}\n#foo(ident: ident)\n#hello\n#hello()\n#box[]\n#hello.world\n#hello.world()\n#hello().world()\n#hello.my.world\n#hello.my.world()\n#hello.my().world\n#hello.my().world()\n#{ hello }\n#{ hello() }\n#{ hello.world() }\n$ hello $\n$ hello() $\n$ box[] $\n$ hello.world $\n$ hello.world() $\n$ hello.my.world() $\n$ f_zeta(x), f_zeta(x)/1 $\n$ emph(hello.my.world()) $\n$ emph(hello.my().world) $\n$ emph(hello.my().world()) $\n$ #hello $\n$ #hello() $\n$ #hello.world $\n$ #hello.world() $\n$ #box[] $\n#if foo []\n"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 raw(block: true, -                     lang: "typ", -                     text: "#set hello()\n#set hello()\n#set hello.world()\n#set hello.my.world()\n#let foo(x) = x * 2\n#show heading: func\n#show module.func: func\n#show module.func: it => {}\n#foo(ident: ident)\n#hello\n#hello()\n#box[]\n#hello.world\n#hello.world()\n#hello().world()\n#hello.my.world\n#hello.my.world()\n#hello.my().world\n#hello.my().world()\n#{ hello }\n#{ hello() }\n#{ hello.world() }\n$ hello $\n$ hello() $\n$ box[] $\n$ hello.world $\n$ hello.world() $\n$ hello.my.world() $\n$ f_zeta(x), f_zeta(x)/1 $\n$ emph(hello.my.world()) $\n$ emph(hello.my().world) $\n$ emph(hello.my().world()) $\n$ #hello $\n$ #hello() $\n$ #hello.world $\n$ #hello.world() $\n$ #box[] $\n#if foo []\n"), -                 parbreak() })
− test/out/compiler/hint-00.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/hint-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/hint-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/if-00.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/if-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/if-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/if-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/if-00.typ"-    ( line 3 , column 2 )-    (If-       [ ( LessThan (Literal (Int 1)) (Literal (Int 2))-         , Block (Content [ SoftBreak , Text "One" , Text "." , ParBreak ])-         )-       ])-, ParBreak-, Code-    "test/typ/compiler/if-00.typ"-    ( line 7 , column 2 )-    (If-       [ ( Equals (Literal (Boolean True)) (Literal (Boolean False))-         , Block-             (Content-                [ SoftBreak-                , Text "{Bad},"-                , Space-                , Text "but"-                , Space-                , Text "we"-                , Space-                , Text "{dont"-                , Text "-"-                , Text "care}!"-                , ParBreak-                ])-         )-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-One.]), -                 parbreak(), -                 parbreak(), -                 parbreak() })
− test/out/compiler/if-01.out
@@ -1,163 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/if-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/if-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/if-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/if-01.typ"-    ( line 3 , column 2 )-    (If-       [ ( Block (CodeBlock [ Literal (Boolean True) ])-         , Block (Content [ SoftBreak , Text "One" , Text "." , ParBreak ])-         )-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/if-01.typ"-    ( line 8 , column 2 )-    (If-       [ ( Not (Equals (Block (Content [])) (Literal None))-         , Block (Content [ SoftBreak , Text "Two" , Text "." , ParBreak ])-         )-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/if-01.typ"-    ( line 13 , column 2 )-    (If-       [ ( Equals-             (Plus (Literal (Int 1)) (Literal (Int 1))) (Literal (Int 1))-         , Block (Content [ SoftBreak , Text "Nope" , Text "." , ParBreak ])-         )-       , ( Literal (Boolean True)-         , Block (CodeBlock [ Literal (String "Three.") ])-         )-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/if-01.typ"-    ( line 23 , column 2 )-    (If-       [ ( Literal (Boolean False)-         , Block (Content [ SoftBreak , Text "Bad" , Text "." , ParBreak ])-         )-       , ( Literal (Boolean True)-         , Block-             (CodeBlock-                [ Let-                    (BasicBind (Just (Identifier "point"))) (Literal (String "."))-                , Plus (Literal (String "Four")) (Ident (Identifier "point"))-                ])-         )-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/if-01.typ"-    ( line 31 , column 2 )-    (Block-       (CodeBlock-          [ If-              [ ( Equals-                    (Literal (String "content"))-                    (FuncCall (Ident (Identifier "type")) [ BlockArg [ Text "b" ] ])-                , Block (Content [ Text "Fi" ])-                )-              , ( Literal (Boolean True) , Block (Content [ Text "Nope" ]) )-              ]-          , If-              [ ( Equals (Literal (String "content")) (Ident (Identifier "type"))-                , Block (Content [ Text "Nope" ])-                )-              , ( Literal (Boolean True)-                , Block (Content [ Text "ve" , Text "." ])-                )-              ]-          ]))-, ParBreak-, Code-    "test/typ/compiler/if-01.typ"-    ( line 36 , column 2 )-    (Let (BasicBind (Just (Identifier "i"))) (Literal (Int 3)))-, SoftBreak-, Code-    "test/typ/compiler/if-01.typ"-    ( line 37 , column 2 )-    (If-       [ ( LessThan (Ident (Identifier "i")) (Literal (Int 2))-         , Block (Content [ SoftBreak , Text "Five" , Text "." , ParBreak ])-         )-       , ( LessThan (Ident (Identifier "i")) (Literal (Int 4))-         , Block (Content [ SoftBreak , Text "Six" , Text "." , ParBreak ])-         )-       , ( Literal (Boolean True)-         , Block-             (Content [ SoftBreak , Text "Seven" , Text "." , ParBreak ])-         )-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-One.]), -                 parbreak(), -                 parbreak(), -                 text(body: [-Two.]), -                 parbreak(), -                 parbreak(), -                 text(body: [Three.]), -                 parbreak(), -                 text(body: [Four.]), -                 parbreak(), -                 text(body: [Fi]), -                 text(body: [ve.]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [-Six.]), -                 parbreak(), -                 parbreak() })
− test/out/compiler/if-02.out
@@ -1,146 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/if-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/if-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/if-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, SoftBreak-, Code-    "test/typ/compiler/if-02.typ"-    ( line 5 , column 2 )-    (LetFunc-       (Identifier "nth")-       [ NormalParam (Identifier "n") ]-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "str")) [ NormalArg (Ident (Identifier "n")) ]-             , If-                 [ ( Equals (Ident (Identifier "n")) (Literal (Int 1))-                   , Block (CodeBlock [ Literal (String "st") ])-                   )-                 , ( Equals (Ident (Identifier "n")) (Literal (Int 2))-                   , Block (CodeBlock [ Literal (String "nd") ])-                   )-                 , ( Equals (Ident (Identifier "n")) (Literal (Int 3))-                   , Block (CodeBlock [ Literal (String "rd") ])-                   )-                 , ( Literal (Boolean True)-                   , Block (CodeBlock [ Literal (String "th") ])-                   )-                 ]-             ])))-, ParBreak-, Code-    "test/typ/compiler/if-02.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "nth")) [ NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (String "1st"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/if-02.typ"-    ( line 14 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "nth")) [ NormalArg (Literal (Int 2)) ])-       , NormalArg (Literal (String "2nd"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/if-02.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "nth")) [ NormalArg (Literal (Int 3)) ])-       , NormalArg (Literal (String "3rd"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/if-02.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "nth")) [ NormalArg (Literal (Int 4)) ])-       , NormalArg (Literal (String "4th"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/if-02.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "nth")) [ NormalArg (Literal (Int 5)) ])-       , NormalArg (Literal (String "5th"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/if-03.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/if-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/if-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/if-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, SoftBreak-, Code-    "test/typ/compiler/if-03.typ"-    ( line 5 , column 2 )-    (Block-       (CodeBlock-          [ Let (BasicBind (Just (Identifier "x"))) (Literal (Int 1))-          , Let (BasicBind (Just (Identifier "y"))) (Literal (Int 2))-          , Let (BasicBind (Just (Identifier "z"))) (Literal None)-          , Assign-              (Ident (Identifier "z"))-              (If-                 [ ( LessThan (Ident (Identifier "x")) (Ident (Identifier "y"))-                   , Block (CodeBlock [ Literal (String "ok") ])-                   )-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "z"))-              , NormalArg (Literal (String "ok"))-              ]-          , Assign-              (Ident (Identifier "z"))-              (If-                 [ ( GreaterThan (Ident (Identifier "x")) (Ident (Identifier "y"))-                   , Block (CodeBlock [ Literal (String "bad") ])-                   )-                 , ( Literal (Boolean True)-                   , Block (CodeBlock [ Literal (String "ok") ])-                   )-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "z"))-              , NormalArg (Literal (String "ok"))-              ]-          , Assign-              (Ident (Identifier "z"))-              (If-                 [ ( GreaterThan (Ident (Identifier "x")) (Ident (Identifier "y"))-                   , Block (CodeBlock [ Literal (String "bad") ])-                   )-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "z")) , NormalArg (Literal None) ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/if-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/if-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/if-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-00.out
@@ -1,106 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/import-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/import-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/import-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/import-00.typ"-    ( line 6 , column 2 )-    (Let-       (BasicBind (Just (Identifier "value")))-       (Block (Content [ Text "foo" ])))-, ParBreak-, Comment-, Code-    "test/typ/compiler/import-00.typ"-    ( line 9 , column 2 )-    (Import-       (Literal (String "module.typ"))-       (SomeIdentifiers-          [ ( Identifier "fn" , Nothing )-          , ( Identifier "value" , Nothing )-          ]))-, SoftBreak-, Code-    "test/typ/compiler/import-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "fn"))-       [ BlockArg-           [ Text "Like" , Space , Text "and" , Space , Text "Subscribe!" ]-       ])-, SoftBreak-, Code-    "test/typ/compiler/import-00.typ"-    ( line 11 , column 2 )-    (Ident (Identifier "value"))-, ParBreak-, Comment-, Comment-, Code-    "test/typ/compiler/import-00.typ"-    ( line 15 , column 2 )-    (Import-       (Literal (String "module.typ"))-       (SomeIdentifiers-          [ ( Identifier "a" , Nothing ) , ( Identifier "c" , Nothing ) ]))-, Text "bye"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [-]), -                 rect(body: text(body: [Like and Subscribe!]), -                      fill: rgb(18%,80%,25%,100%), -                      inset: 5.0pt), -                 text(body: [-]), -                 text(body: [hi]), -                 parbreak(), -                 text(body: [bye]), -                 parbreak() })
− test/out/compiler/import-01.out
@@ -1,115 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/import-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/import-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/import-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/import-01.typ"-    ( line 3 , column 2 )-    (Import-       (Literal (String "module.typ"))-       (SomeIdentifiers [ ( Identifier "item" , Nothing ) ]))-, SoftBreak-, Code-    "test/typ/compiler/import-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "item"))-              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ])-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-, Comment-, Text "{"-, SoftBreak-, Text "import"-, Space-, Quote '"'-, Text "module"-, Text "."-, Text "typ"-, Quote '"'-, Text ":"-, Space-, Text "b"-, SoftBreak-, Text "test"-, Text "("-, Text "b,"-, Space-, Text "1)"-, SoftBreak-, Text "}"-, ParBreak-, Comment-, Code-    "test/typ/compiler/import-01.typ"-    ( line 13 , column 2 )-    (Import (Literal (String "module.typ")) AllIdentifiers)-, ParBreak-, Comment-, Code-    "test/typ/compiler/import-01.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "d"))-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [{-import “module.typ”: b-test(b, 1)-}]), -                 parbreak(), -                 parbreak(), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/import-02.out
@@ -1,108 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/import-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/import-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/import-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, SoftBreak-, Code-    "test/typ/compiler/import-02.typ"-    ( line 5 , column 2 )-    (Import-       (Ident (Identifier "enum"))-       (SomeIdentifiers [ ( Identifier "item" , Nothing ) ]))-, SoftBreak-, Code-    "test/typ/compiler/import-02.typ"-    ( line 6 , column 2 )-    (Import-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "assert")))-          [ NormalArg (Literal (Boolean True)) ])-       AllIdentifiers)-, ParBreak-, Code-    "test/typ/compiler/import-02.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "enum"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "item"))-              [ NormalArg (Literal (Int 1)) , BlockArg [ Text "First" ] ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "item"))-              [ NormalArg (Literal (Int 5)) , BlockArg [ Text "Fifth" ] ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/import-02.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "eq"))-       [ NormalArg (Literal (Int 10)) , NormalArg (Literal (Int 10)) ])-, SoftBreak-, Code-    "test/typ/compiler/import-02.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "ne"))-       [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 6)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 enum(children: (enum.item(body: text(body: [First]), -                                           number: 1), -                                 enum.item(body: text(body: [Fifth]), -                                           number: 5))), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak() })
− test/out/compiler/import-03.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/import-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/import-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/import-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/import-03.typ"-    ( line 3 , column 2 )-    (Import (Literal (String "module.typ")) (NoIdentifiers Nothing))-, SoftBreak-, Code-    "test/typ/compiler/import-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "b")) (Ident (Identifier "module")))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/import-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "item")) (Ident (Identifier "module")))-              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ])-       , NormalArg (Literal (Int 3))-       ])-, SoftBreak-, Code-    "test/typ/compiler/import-03.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "push")) (Ident (Identifier "module")))-              [ NormalArg (Literal (Int 2)) ])-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/import-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-05.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/import-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/import-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/import-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/import-05.typ"-    ( line 3 , column 2 )-    (Import (Literal (String "module.typ")) AllIdentifiers)-, ParBreak-, Comment-, Code-    "test/typ/compiler/import-05.typ"-    ( line 6 , column 2 )-    (Import-       (Literal (String "module.typ"))-       (SomeIdentifiers-          [ ( Identifier "a" , Nothing ) , ( Identifier "c" , Nothing ) ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 parbreak() })
− test/out/compiler/import-06.out
@@ -1,90 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/import-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/import-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/import-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/import-06.typ"-    ( line 3 , column 2 )-    (Import (Ident (Identifier "enum")) (NoIdentifiers Nothing))-, SoftBreak-, Code-    "test/typ/compiler/import-06.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "d")))-       (Dict-          [ Reg ( Ident (Identifier "e") , Ident (Identifier "enum") ) ]))-, SoftBreak-, Code-    "test/typ/compiler/import-06.typ"-    ( line 5 , column 2 )-    (Import-       (FieldAccess (Ident (Identifier "e")) (Ident (Identifier "d")))-       (NoIdentifiers Nothing))-, SoftBreak-, Code-    "test/typ/compiler/import-06.typ"-    ( line 6 , column 2 )-    (Import-       (FieldAccess (Ident (Identifier "e")) (Ident (Identifier "d")))-       (SomeIdentifiers [ ( Identifier "item" , Nothing ) ]))-, ParBreak-, Code-    "test/typ/compiler/import-06.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "item"))-       [ NormalArg (Literal (Int 2)) , BlockArg [ Text "a" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 enum.item(body: text(body: [a]), -                           number: 2), -                 parbreak() })
− test/out/compiler/import-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-11.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-12.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-13.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-14.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-15.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-16.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-17.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-18.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-19.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-20.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-21.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-22.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-23.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-24.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/import-25.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/include-00.out
@@ -1,122 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/include-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/include-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/include-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compiler/include-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt)) ])-, ParBreak-, Heading 1 [ Text "Document" ]-, Comment-, Code-    "test/typ/compiler/include-00.typ"-    ( line 7 , column 2 )-    (Include (Literal (String "modules/chap1.typ")))-, ParBreak-, Comment-, Code-    "test/typ/compiler/include-00.typ"-    ( line 10 , column 2 )-    (Let-       (BasicBind (Just (Identifier "chap2")))-       (Include-          (Plus-             (Plus (Literal (String "modu")) (Literal (String "les/chap")))-             (Literal (String "2.typ")))))-, ParBreak-, EnDash-, Space-, Emph [ Text "Intermission" ]-, Space-, EnDash-, SoftBreak-, Code-    "test/typ/compiler/include-00.typ"-    ( line 13 , column 2 )-    (Ident (Identifier "chap2"))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [Document]), -                         level: 1), -                 text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [Chapter 1]), -                         level: 2), -                 text(body: [Klaus]), -                 text(body: [ stood in a field of wheat. There was nothing of particular interest about-the field ]), -                 text(body: [Klaus]), -                 text(body: [ just casually surveyed for any paths on which the corn would not-totally ruin his semi-new outdorsy jacket but then again, most of us spend-considerable time in non-descript environments.]), -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 text(body: [– ]), -                 emph(body: text(body: [Intermission])), -                 text(body: [ –-]), -                 text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [Chapter 2]), -                         level: 2), -                 text(body: [Their motivations, however, were pretty descript, so to speak. ]), -                 text(body: [Klaus]), -                 text(body: [ had not yet-conceptualized their consequences, but that should change pretty quickly. ]), -                 text(body: [Klaus]), -                 text(body: [-approached the center of the field and picked up a 4-foot long disk made from-what could only be cow manure. The hair on the back of ]), -                 text(body: [Klaus]), -                 text(body: [” neck bristled as-he stared at the unusual sight. After studying the object for a while, he-promptly popped the question, “How much?”]), -                 parbreak(), -                 parbreak() })
− test/out/compiler/include-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/include-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/include-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/label-00.out
@@ -1,96 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/label-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/label-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/label-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/label-00.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "heading")))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Literal (Numeric 10.0 Pt)) ]))-, SoftBreak-, Code-    "test/typ/compiler/label-00.typ"-    ( line 4 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "heading")))-             [ KeyValArg (Identifier "label") (Label "intro") ]))-       (Ident (Identifier "underline")))-, ParBreak-, Heading 1 [ Text "Introduction" ]-, Code-    "test/typ/compiler/label-00.typ"-    ( line 6 , column 16 )-    (Label "intro")-, SoftBreak-, Text "The"-, Space-, Text "beginning"-, Text "."-, ParBreak-, Heading 1 [ Text "Conclusion" ]-, Text "The"-, Space-, Text "end"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [Introduction]), -                         level: 1), -                 <intro>, -                 text(body: [-The beginning.]), -                 parbreak(), -                 heading(body: text(body: [Conclusion]), -                         level: 1), -                 text(body: [The end.]), -                 parbreak() })
− test/out/compiler/label-01.out
@@ -1,95 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/label-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/label-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/label-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/label-01.typ"-    ( line 3 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "strong")))-             [ KeyValArg (Identifier "label") (Label "v") ]))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Ident (Identifier "red")) ]))-, ParBreak-, Code-    "test/typ/compiler/label-01.typ"-    ( line 5 , column 2 )-    (Let-       (BasicBind (Just (Identifier "a")))-       (Block (Content [ Strong [ Text "A" ] ])))-, SoftBreak-, Code-    "test/typ/compiler/label-01.typ"-    ( line 6 , column 2 )-    (Let-       (BasicBind (Just (Identifier "b")))-       (Block (Content [ Strong [ Text "B" ] ])))-, SoftBreak-, Code-    "test/typ/compiler/label-01.typ"-    ( line 7 , column 2 )-    (Ident (Identifier "a"))-, Space-, Code-    "test/typ/compiler/label-01.typ" ( line 7 , column 4 ) (Label "v")-, Code-    "test/typ/compiler/label-01.typ"-    ( line 7 , column 9 )-    (Ident (Identifier "b"))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [-]), -                 strong(body: text(body: [A])), -                 text(body: [ ]), -                 <v>, -                 strong(body: text(body: [B])), -                 parbreak() })
− test/out/compiler/label-02.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/label-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/label-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/label-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/label-02.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Literal (String "t")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (CodeBlock-                [ If-                    [ ( And-                          (FuncCall-                             (FieldAccess (Ident (Identifier "has")) (Ident (Identifier "it")))-                             [ NormalArg (Literal (String "label")) ])-                          (Equals-                             (FieldAccess-                                (Ident (Identifier "label")) (Ident (Identifier "it")))-                             (Label "last"))-                      , Set-                          (Ident (Identifier "text"))-                          [ NormalArg (Ident (Identifier "blue")) ]-                      )-                    ]-                , Ident (Identifier "it")-                ]))))-, ParBreak-, Text "This"-, Space-, Text "is"-, Space-, Text "a"-, Space-, Text "thing"-, Space-, Code-    "test/typ/compiler/label-02.typ"-    ( line 8 , column 18 )-    (Block-       (Content-          [ Text "that"-          , Space-          , Code-              "test/typ/compiler/label-02.typ"-              ( line 8 , column 24 )-              (Label "last")-          ]))-, Space-, Text "happened"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [This is a thing ]), -                 text(body: [that ]), -                 <last>, -                 text(body: [ happened.]), -                 parbreak() })
− test/out/compiler/label-03.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/label-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/label-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/label-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/label-03.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Label "red"))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Ident (Identifier "red")) ]))-, SoftBreak-, Code-    "test/typ/compiler/label-03.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Label "blue"))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Ident (Identifier "blue")) ]))-, ParBreak-, Strong [ Text "A" ]-, Space-, Strong [ Text "B" ]-, Space-, Code-    "test/typ/compiler/label-03.typ"-    ( line 6 , column 9 )-    (Label "red")-, Strong [ Text "C" ]-, Space-, Code-    "test/typ/compiler/label-03.typ"-    ( line 6 , column 20 )-    (FuncCall-       (Ident (Identifier "label"))-       [ NormalArg (Plus (Literal (String "bl")) (Literal (String "ue")))-       ])-, Space-, Strong [ Text "D" ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 strong(body: text(body: [A])), -                 text(body: [ ]), -                 strong(body: text(body: [B])), -                 text(body: [ ]), -                 <red>, -                 strong(body: text(body: [C])), -                 text(body: [ ]), -                 <blue>, -                 text(body: [ ]), -                 strong(body: text(body: [D])), -                 parbreak() })
− test/out/compiler/label-04.out
@@ -1,80 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/label-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/label-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/label-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/label-04.typ"-    ( line 3 , column 2 )-    (Show (Just (Label "hide")) (Literal None))-, ParBreak-, Emph [ Text "Hidden" ]-, SoftBreak-, Code-    "test/typ/compiler/label-04.typ"-    ( line 6 , column 1 )-    (Label "hide")-, ParBreak-, Emph [ Text "Hidden" ]-, ParBreak-, Code-    "test/typ/compiler/label-04.typ"-    ( line 10 , column 1 )-    (Label "hide")-, SoftBreak-, Emph [ Text "Visible" ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 emph(body: text(body: [Hidden])), -                 text(body: [-]), -                 <hide>, -                 parbreak(), -                 emph(body: text(body: [Hidden])), -                 parbreak(), -                 <hide>, -                 text(body: [-]), -                 emph(body: text(body: [Visible])), -                 parbreak() })
− test/out/compiler/label-05.out
@@ -1,87 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/label-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/label-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/label-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/label-05.typ"-    ( line 3 , column 2 )-    (Show (Just (Label "strike")) (Ident (Identifier "strike")))-, SoftBreak-, Strong [ Text "This" , Space , Text "is" ]-, Space-, Code-    "test/typ/compiler/label-05.typ"-    ( line 4 , column 12 )-    (Block-       (Content-          [ Code-              "test/typ/compiler/label-05.typ"-              ( line 4 , column 13 )-              (Label "strike")-          ]))-, Space-, Strong [ Text "protected" , Text "." ]-, SoftBreak-, Strong-    [ Text "This" , Space , Text "is" , Space , Text "not" , Text "." ]-, Space-, Code-    "test/typ/compiler/label-05.typ"-    ( line 5 , column 16 )-    (Label "strike")-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 strong(body: text(body: [This is])), -                 text(body: [ ]), -                 <strike>, -                 text(body: [ ]), -                 strong(body: text(body: [protected.])), -                 text(body: [-]), -                 strong(body: text(body: [This is not.])), -                 text(body: [ ]), -                 <strike>, -                 parbreak() })
− test/out/compiler/label-06.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/label-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/label-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/label-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "1"-, Space-, Text "<"-, Space-, Text "2"-, Space-, Text "is"-, Space-, Code-    "test/typ/compiler/label-06.typ"-    ( line 3 , column 11 )-    (If-       [ ( LessThan (Literal (Int 1)) (Literal (Int 2))-         , Block (Content [ Text "not" ])-         )-       ])-, Space-, Text "a"-, Space-, Text "label"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [1 < 2 is ]), -                 text(body: [not]), -                 text(body: [ a label.]), -                 parbreak() })
− test/out/compiler/let-00.out
@@ -1,117 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/let-00.typ"-    ( line 3 , column 2 )-    (Let (BasicBind (Just (Identifier "x"))) (Literal None))-, SoftBreak-, Code-    "test/typ/compiler/let-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x")) , NormalArg (Literal None) ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/let-00.typ"-    ( line 7 , column 2 )-    (Let (BasicBind (Just (Identifier "z"))) (Literal (Int 1)))-, SoftBreak-, Code-    "test/typ/compiler/let-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "z"))-       , NormalArg (Literal (Int 1))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/let-00.typ"-    ( line 11 , column 2 )-    (Let-       (BasicBind (Just (Identifier "fill")))-       (Ident (Identifier "green")))-, SoftBreak-, Code-    "test/typ/compiler/let-00.typ"-    ( line 12 , column 2 )-    (LetFunc-       (Identifier "f")-       [ NormalParam (Identifier "body") ]-       (FuncCall-          (Ident (Identifier "rect"))-          [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Cm))-          , KeyValArg (Identifier "fill") (Ident (Identifier "fill"))-          , KeyValArg (Identifier "inset") (Literal (Numeric 5.0 Pt))-          , NormalArg (Ident (Identifier "body"))-          ]))-, SoftBreak-, Code-    "test/typ/compiler/let-00.typ"-    ( line 13 , column 2 )-    (FuncCall (Ident (Identifier "f")) [ BlockArg [ Text "Hi!" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [-]), -                 rect(body: text(body: [Hi!]), -                      fill: rgb(18%,80%,25%,100%), -                      inset: 5.0pt, -                      width: 2.0cm), -                 parbreak() })
− test/out/compiler/let-01.out
@@ -1,116 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/let-01.typ"-    ( line 5 , column 2 )-    (Let (BasicBind (Just (Identifier "v1"))) (Literal (Int 1)))-, SoftBreak-, Text "One"-, ParBreak-, Comment-, Code-    "test/typ/compiler/let-01.typ"-    ( line 9 , column 2 )-    (Let (BasicBind (Just (Identifier "v2"))) (Literal (Int 2)))-, Space-, Text "Two"-, ParBreak-, Comment-, Code-    "test/typ/compiler/let-01.typ"-    ( line 12 , column 2 )-    (Let (BasicBind (Just (Identifier "v3"))) (Literal (Int 3)))-, SoftBreak-, Text "Three"-, ParBreak-, Code-    "test/typ/compiler/let-01.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "v1"))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-01.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "v2"))-       , NormalArg (Literal (Int 2))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-01.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "v3"))-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-One]), -                 parbreak(), -                 text(body: [ Two]), -                 parbreak(), -                 text(body: [-Three]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-02.out
@@ -1,55 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-02.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "a")))-       (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak() })
− test/out/compiler/let-03.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-03.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ Simple (Just (Identifier "a"))-          , Simple (Just (Identifier "b"))-          ])-       (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))-, SoftBreak-, Code-    "test/typ/compiler/let-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a"))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-03.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "b"))-       , NormalArg (Literal (Int 2))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-04.out
@@ -1,66 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/let-04.typ"-    ( line 3 , column 2 )-    (Let-       (DestructuringBind [ Simple (Just (Identifier "a")) ])-       (Array [ Reg (Literal (Int 1)) ]))-, SoftBreak-, Code-    "test/typ/compiler/let-04.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a"))-       , NormalArg (Literal (Int 1))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-05.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-05.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ Simple (Just (Identifier "a"))-          , Simple Nothing-          , Simple (Just (Identifier "c"))-          , Simple Nothing-          ])-       (Array-          [ Reg (Literal (Int 1))-          , Reg (Literal (Int 2))-          , Reg (Literal (Int 3))-          , Reg (Literal (Int 4))-          ]))-, SoftBreak-, Code-    "test/typ/compiler/let-05.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a"))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-05.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "c"))-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-06.out
@@ -1,108 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-06.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ Simple (Just (Identifier "a"))-          , Simple (Just (Identifier "b"))-          , Sink (Just (Identifier "c"))-          ])-       (Array-          [ Reg (Literal (Int 1))-          , Reg (Literal (Int 2))-          , Reg (Literal (Int 3))-          , Reg (Literal (Int 4))-          , Reg (Literal (Int 5))-          , Reg (Literal (Int 6))-          ]))-, SoftBreak-, Code-    "test/typ/compiler/let-06.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a"))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-06.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "b"))-       , NormalArg (Literal (Int 2))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-06.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "c"))-       , NormalArg-           (Array-              [ Reg (Literal (Int 3))-              , Reg (Literal (Int 4))-              , Reg (Literal (Int 5))-              , Reg (Literal (Int 6))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-07.out
@@ -1,108 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-07.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ Simple (Just (Identifier "a"))-          , Sink (Just (Identifier "b"))-          , Simple (Just (Identifier "c"))-          ])-       (Array-          [ Reg (Literal (Int 1))-          , Reg (Literal (Int 2))-          , Reg (Literal (Int 3))-          , Reg (Literal (Int 4))-          , Reg (Literal (Int 5))-          , Reg (Literal (Int 6))-          ]))-, SoftBreak-, Code-    "test/typ/compiler/let-07.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a"))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-07.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "b"))-       , NormalArg-           (Array-              [ Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              , Reg (Literal (Int 4))-              , Reg (Literal (Int 5))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-07.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "c"))-       , NormalArg (Literal (Int 6))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-08.out
@@ -1,93 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-08.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ Sink (Just (Identifier "a"))-          , Simple (Just (Identifier "b"))-          , Simple (Just (Identifier "c"))-          ])-       (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))-, SoftBreak-, Code-    "test/typ/compiler/let-08.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a")) , NormalArg (Array []) ])-, SoftBreak-, Code-    "test/typ/compiler/let-08.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "b"))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-08.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "c"))-       , NormalArg (Literal (Int 2))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-09.out
@@ -1,93 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-09.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ Simple (Just (Identifier "a"))-          , Sink (Just (Identifier "b"))-          , Simple (Just (Identifier "c"))-          ])-       (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))-, SoftBreak-, Code-    "test/typ/compiler/let-09.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a"))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-09.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "b")) , NormalArg (Array []) ])-, SoftBreak-, Code-    "test/typ/compiler/let-09.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "c"))-       , NormalArg (Literal (Int 2))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-10.out
@@ -1,93 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-10.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-10.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-10.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-10.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ Simple (Just (Identifier "a"))-          , Simple (Just (Identifier "b"))-          , Sink (Just (Identifier "c"))-          ])-       (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))-, SoftBreak-, Code-    "test/typ/compiler/let-10.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a"))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-10.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "b"))-       , NormalArg (Literal (Int 2))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-10.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "c")) , NormalArg (Array []) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-11.out
@@ -1,64 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-11.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-11.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-11.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-11.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind [ Sink (Just (Identifier "a")) ]) (Array []))-, SoftBreak-, Code-    "test/typ/compiler/let-11.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a")) , NormalArg (Array []) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-12.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-13.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-14.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-15.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-16.out
@@ -1,99 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-16.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-16.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-16.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-16.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ WithKey (Identifier "a") (Just (Identifier "a"))-          , Simple (Just (Identifier "b"))-          , WithKey (Identifier "x") (Just (Identifier "c"))-          ])-       (Dict-          [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-          , Reg ( Ident (Identifier "b") , Literal (Int 2) )-          , Reg ( Ident (Identifier "x") , Literal (Int 3) )-          ]))-, SoftBreak-, Code-    "test/typ/compiler/let-16.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a"))-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-16.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "b"))-       , NormalArg (Literal (Int 2))-       ])-, SoftBreak-, Code-    "test/typ/compiler/let-16.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "c"))-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-17.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-17.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-17.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-17.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-17.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ WithKey (Identifier "a") Nothing-          , Sink (Just (Identifier "b"))-          ])-       (Dict-          [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-          , Reg ( Ident (Identifier "b") , Literal (Int 2) )-          , Reg ( Ident (Identifier "c") , Literal (Int 3) )-          ]))-, SoftBreak-, Code-    "test/typ/compiler/let-17.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "b"))-       , NormalArg-           (Dict-              [ Reg ( Ident (Identifier "b") , Literal (Int 2) )-              , Reg ( Ident (Identifier "c") , Literal (Int 3) )-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-18.out
@@ -1,76 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-18.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-18.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-18.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-18.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ WithKey (Identifier "a") Nothing-          , Sink (Just (Identifier "b"))-          , WithKey (Identifier "c") Nothing-          ])-       (Dict-          [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-          , Reg ( Ident (Identifier "b") , Literal (Int 2) )-          , Reg ( Ident (Identifier "c") , Literal (Int 3) )-          ]))-, SoftBreak-, Code-    "test/typ/compiler/let-18.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "b"))-       , NormalArg-           (Dict [ Reg ( Ident (Identifier "b") , Literal (Int 2) ) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-19.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-19.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-19.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-19.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-19.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ WithKey (Identifier "a") Nothing-          , Sink (Just (Identifier "b"))-          ])-       (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ]))-, SoftBreak-, Code-    "test/typ/compiler/let-19.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "b")) , NormalArg (Dict []) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-20.out
@@ -1,64 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-20.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-20.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-20.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-20.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind [ Sink (Just (Identifier "a")) ]) (Dict []))-, SoftBreak-, Code-    "test/typ/compiler/let-20.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a")) , NormalArg (Dict []) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-21.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/let-21.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/let-21.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/let-21.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/let-21.typ"-    ( line 4 , column 2 )-    (Let-       (DestructuringBind-          [ Simple (Just (Identifier "a")) , Sink Nothing ])-       (Dict-          [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-          , Reg ( Ident (Identifier "b") , Literal (Int 2) )-          ]))-, SoftBreak-, Code-    "test/typ/compiler/let-21.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "a"))-       , NormalArg (Literal (Int 1))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/let-22.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-23.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-24.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-25.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-26.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-27.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-28.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/let-29.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/methods-00.out
@@ -1,63 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/methods-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/methods-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/methods-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/methods-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "split")) (Literal (String "Hi there")))-              [])-       , NormalArg-           (Array-              [ Reg (Literal (String "Hi")) , Reg (Literal (String "there")) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/methods-01.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/methods-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/methods-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/methods-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/methods-01.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "matrix")))-              (Array-                 [ Reg-                     (Array-                        [ Reg (Array [ Reg (Literal (Int 1)) ])-                        , Reg (Array [ Reg (Literal (Int 2)) ])-                        ])-                 , Reg-                     (Array-                        [ Reg (Array [ Reg (Literal (Int 3)) ])-                        , Reg (Array [ Reg (Literal (Int 4)) ])-                        ])-                 ])-          , FuncCall-              (FieldAccess-                 (Ident (Identifier "push"))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "at"))-                       (FuncCall-                          (FieldAccess-                             (Ident (Identifier "at")) (Ident (Identifier "matrix")))-                          [ NormalArg (Literal (Int 1)) ]))-                    [ NormalArg (Literal (Int 0)) ]))-              [ NormalArg (Literal (Int 5)) ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "matrix"))-              , NormalArg-                  (Array-                     [ Reg-                         (Array-                            [ Reg (Array [ Reg (Literal (Int 1)) ])-                            , Reg (Array [ Reg (Literal (Int 2)) ])-                            ])-                     , Reg-                         (Array-                            [ Reg (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 5)) ])-                            , Reg (Array [ Reg (Literal (Int 4)) ])-                            ])-                     ])-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/methods-02.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/methods-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/methods-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/methods-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/methods-02.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "rewritten")))-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "join"))-                    (FuncCall-                       (FieldAccess-                          (Ident (Identifier "map"))-                          (FuncCall-                             (FieldAccess-                                (Ident (Identifier "filter"))-                                (FuncCall-                                   (FieldAccess-                                      (Ident (Identifier "map"))-                                      (FuncCall-                                         (FieldAccess-                                            (Ident (Identifier "split"))-                                            (Literal-                                               (String "Hello. This is a sentence. And one more.")))-                                         [ NormalArg (Literal (String ".")) ]))-                                   [ NormalArg-                                       (FuncExpr-                                          [ NormalParam (Identifier "s") ]-                                          (FuncCall-                                             (FieldAccess-                                                (Ident (Identifier "trim"))-                                                (Ident (Identifier "s")))-                                             []))-                                   ]))-                             [ NormalArg-                                 (FuncExpr-                                    [ NormalParam (Identifier "s") ]-                                    (Not (Equals (Ident (Identifier "s")) (Literal (String "")))))-                             ]))-                       [ NormalArg-                           (FuncExpr-                              [ NormalParam (Identifier "s") ]-                              (Plus (Ident (Identifier "s")) (Literal (String "!"))))-                       ]))-                 [ NormalArg (Literal (String "\n ")) ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Ident (Identifier "rewritten"))-              , NormalArg-                  (Literal (String "Hello!\n This is a sentence!\n And one more!"))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/methods-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/methods-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/methods-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/methods-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/module.out
@@ -1,131 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/module.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/module.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/module.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, SoftBreak-, Code-    "test/typ/compiler/module.typ"-    ( line 5 , column 2 )-    (Let (BasicBind (Just (Identifier "a"))) (Literal None))-, SoftBreak-, Code-    "test/typ/compiler/module.typ"-    ( line 6 , column 2 )-    (Let (BasicBind (Just (Identifier "b"))) (Literal (Int 1)))-, SoftBreak-, Code-    "test/typ/compiler/module.typ"-    ( line 7 , column 2 )-    (Let (BasicBind (Just (Identifier "c"))) (Literal (Int 2)))-, SoftBreak-, Code-    "test/typ/compiler/module.typ"-    ( line 8 , column 2 )-    (Let (BasicBind (Just (Identifier "d"))) (Literal (Int 3)))-, SoftBreak-, Code-    "test/typ/compiler/module.typ"-    ( line 9 , column 2 )-    (Let-       (BasicBind (Just (Identifier "value")))-       (Block (Content [ Text "hi" ])))-, SoftBreak-, Code-    "test/typ/compiler/module.typ"-    ( line 10 , column 2 )-    (LetFunc-       (Identifier "item")-       [ NormalParam (Identifier "a") , NormalParam (Identifier "b") ]-       (Plus (Ident (Identifier "a")) (Ident (Identifier "b"))))-, SoftBreak-, Code-    "test/typ/compiler/module.typ"-    ( line 11 , column 2 )-    (LetFunc-       (Identifier "push")-       [ NormalParam (Identifier "a") ]-       (Plus (Ident (Identifier "a")) (Literal (Int 1))))-, SoftBreak-, Code-    "test/typ/compiler/module.typ"-    ( line 12 , column 2 )-    (Let-       (BasicBind (Just (Identifier "fn")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "rect")))-          [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-          , KeyValArg (Identifier "inset") (Literal (Numeric 5.0 Pt))-          ]))-, ParBreak-, Text "Some"-, Space-, Emph [ Text "includable" ]-, Space-, Text "text"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [Some ]), -                 emph(body: text(body: [includable])), -                 text(body: [ text.]), -                 parbreak() })
− test/out/compiler/modules/chap1.out
@@ -1,173 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/modules/chap1.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/modules/chap1.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/modules/chap1.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/modules/chap1.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "name"))) (Literal (String "Klaus")))-, ParBreak-, Heading 2 [ Text "Chapter" , Space , Text "1" ]-, Code-    "test/typ/compiler/modules/chap1.typ"-    ( line 7 , column 2 )-    (Ident (Identifier "name"))-, Space-, Text "stood"-, Space-, Text "in"-, Space-, Text "a"-, Space-, Text "field"-, Space-, Text "of"-, Space-, Text "wheat"-, Text "."-, Space-, Text "There"-, Space-, Text "was"-, Space-, Text "nothing"-, Space-, Text "of"-, Space-, Text "particular"-, Space-, Text "interest"-, Space-, Text "about"-, SoftBreak-, Text "the"-, Space-, Text "field"-, Space-, Code-    "test/typ/compiler/modules/chap1.typ"-    ( line 8 , column 12 )-    (Ident (Identifier "name"))-, Space-, Text "just"-, Space-, Text "casually"-, Space-, Text "surveyed"-, Space-, Text "for"-, Space-, Text "any"-, Space-, Text "paths"-, Space-, Text "on"-, Space-, Text "which"-, Space-, Text "the"-, Space-, Text "corn"-, Space-, Text "would"-, Space-, Text "not"-, SoftBreak-, Text "totally"-, Space-, Text "ruin"-, Space-, Text "his"-, Space-, Text "semi"-, Text "-"-, Text "new"-, Space-, Text "outdorsy"-, Space-, Text "jacket"-, Space-, Text "but"-, Space-, Text "then"-, Space-, Text "again,"-, Space-, Text "most"-, Space-, Text "of"-, Space-, Text "us"-, Space-, Text "spend"-, SoftBreak-, Text "considerable"-, Space-, Text "time"-, Space-, Text "in"-, Space-, Text "non"-, Text "-"-, Text "descript"-, Space-, Text "environments"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [Chapter 1]), -                         level: 2), -                 text(body: [Klaus]), -                 text(body: [ stood in a field of wheat. There was nothing of particular interest about-the field ]), -                 text(body: [Klaus]), -                 text(body: [ just casually surveyed for any paths on which the corn would not-totally ruin his semi-new outdorsy jacket but then again, most of us spend-considerable time in non-descript environments.]), -                 parbreak() })
− test/out/compiler/modules/chap2.out
@@ -1,238 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/modules/chap2.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/modules/chap2.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/modules/chap2.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/modules/chap2.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "name"))) (Literal (String "Klaus")))-, ParBreak-, Heading 2 [ Text "Chapter" , Space , Text "2" ]-, Text "Their"-, Space-, Text "motivations,"-, Space-, Text "however,"-, Space-, Text "were"-, Space-, Text "pretty"-, Space-, Text "descript,"-, Space-, Text "so"-, Space-, Text "to"-, Space-, Text "speak"-, Text "."-, Space-, Code-    "test/typ/compiler/modules/chap2.typ"-    ( line 7 , column 65 )-    (Ident (Identifier "name"))-, Space-, Text "had"-, Space-, Text "not"-, Space-, Text "yet"-, SoftBreak-, Text "conceptualized"-, Space-, Text "their"-, Space-, Text "consequences,"-, Space-, Text "but"-, Space-, Text "that"-, Space-, Text "should"-, Space-, Text "change"-, Space-, Text "pretty"-, Space-, Text "quickly"-, Text "."-, Space-, Code-    "test/typ/compiler/modules/chap2.typ"-    ( line 8 , column 76 )-    (Ident (Identifier "name"))-, SoftBreak-, Text "approached"-, Space-, Text "the"-, Space-, Text "center"-, Space-, Text "of"-, Space-, Text "the"-, Space-, Text "field"-, Space-, Text "and"-, Space-, Text "picked"-, Space-, Text "up"-, Space-, Text "a"-, Space-, Text "4"-, Text "-"-, Text "foot"-, Space-, Text "long"-, Space-, Text "disk"-, Space-, Text "made"-, Space-, Text "from"-, SoftBreak-, Text "what"-, Space-, Text "could"-, Space-, Text "only"-, Space-, Text "be"-, Space-, Text "cow"-, Space-, Text "manure"-, Text "."-, Space-, Text "The"-, Space-, Text "hair"-, Space-, Text "on"-, Space-, Text "the"-, Space-, Text "back"-, Space-, Text "of"-, Space-, Code-    "test/typ/compiler/modules/chap2.typ"-    ( line 10 , column 57 )-    (Ident (Identifier "name"))-, Quote '\''-, Space-, Text "neck"-, Space-, Text "bristled"-, Space-, Text "as"-, SoftBreak-, Text "he"-, Space-, Text "stared"-, Space-, Text "at"-, Space-, Text "the"-, Space-, Text "unusual"-, Space-, Text "sight"-, Text "."-, Space-, Text "After"-, Space-, Text "studying"-, Space-, Text "the"-, Space-, Text "object"-, Space-, Text "for"-, Space-, Text "a"-, Space-, Text "while,"-, Space-, Text "he"-, SoftBreak-, Text "promptly"-, Space-, Text "popped"-, Space-, Text "the"-, Space-, Text "question,"-, Space-, Quote '"'-, Text "How"-, Space-, Text "much?"-, Quote '"'-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [Chapter 2]), -                         level: 2), -                 text(body: [Their motivations, however, were pretty descript, so to speak. ]), -                 text(body: [Klaus]), -                 text(body: [ had not yet-conceptualized their consequences, but that should change pretty quickly. ]), -                 text(body: [Klaus]), -                 text(body: [-approached the center of the field and picked up a 4-foot long disk made from-what could only be cow manure. The hair on the back of ]), -                 text(body: [Klaus]), -                 text(body: [” neck bristled as-he stared at the unusual sight. After studying the object for a while, he-promptly popped the question, “How much?”]), -                 parbreak() })
− test/out/compiler/modules/cycle1.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/modules/cycle2.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-00.out
@@ -1,58 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/ops-00.typ"-    ( line 4 , column 2 )-    (Plus-       (Block (Content [ Strong [ Text "Hello" ] , Space ]))-       (Block (Content [ Text "world!" ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 strong(body: text(body: [Hello])), -                 text(body: [ ]), -                 text(body: [world!]), -                 parbreak() })
− test/out/compiler/ops-01.out
@@ -1,251 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/ops-01.typ"-    ( line 5 , column 2 )-    (For-       (BasicBind (Just (Identifier "v")))-       (Array-          [ Reg (Literal (Int 1))-          , Reg (Literal (Float 3.14))-          , Reg (Literal (Numeric 12.0 Pt))-          , Reg (Literal (Numeric 45.0 Deg))-          , Reg (Literal (Numeric 90.0 Percent))-          , Reg-              (Plus (Literal (Numeric 13.0 Percent)) (Literal (Numeric 10.0 Pt)))-          , Reg (Literal (Numeric 6.3 Fr))-          ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "test"))-                 [ NormalArg (Ident (Identifier "v"))-                 , NormalArg (Ident (Identifier "v"))-                 ]-             , FuncCall-                 (Ident (Identifier "test"))-                 [ NormalArg (Negated (Ident (Identifier "v")))-                 , NormalArg-                     (Times (Negated (Literal (Int 1))) (Ident (Identifier "v")))-                 ]-             , FuncCall-                 (Ident (Identifier "test"))-                 [ NormalArg (Negated (Negated (Ident (Identifier "v"))))-                 , NormalArg (Ident (Identifier "v"))-                 ]-             , FuncCall-                 (Ident (Identifier "test"))-                 [ NormalArg (Negated (Negated (Negated (Ident (Identifier "v")))))-                 , NormalArg (Negated (Ident (Identifier "v")))-                 ]-             ])))-, ParBreak-, Code-    "test/typ/compiler/ops-01.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Negated (Plus (Literal (Int 4)) (Literal (Int 2))))-       , NormalArg (Minus (Literal (Int 6)) (Literal (Int 12)))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-01.typ"-    ( line 20 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Plus (Literal (Int 2)) (Literal (Int 4)))-       , NormalArg (Literal (Int 6))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-01.typ"-    ( line 21 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Plus (Literal (String "a")) (Literal (String "b")))-       , NormalArg (Literal (String "ab"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-01.typ"-    ( line 22 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Plus-              (Literal (String "a"))-              (If-                 [ ( Literal (Boolean False)-                   , Block (CodeBlock [ Literal (String "b") ])-                   )-                 ]))-       , NormalArg (Literal (String "a"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-01.typ"-    ( line 23 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Plus-              (Literal (String "a"))-              (If-                 [ ( Literal (Boolean True)-                   , Block (CodeBlock [ Literal (String "b") ])-                   )-                 ]))-       , NormalArg (Literal (String "ab"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-01.typ"-    ( line 24 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Plus-              (Times (Literal (Int 13)) (Literal (String "a")))-              (Literal (String "bbbbbb")))-       , NormalArg (Literal (String "aaaaaaaaaaaaabbbbbb"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-01.typ"-    ( line 25 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Plus-              (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])-              (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 4)) ]))-       , NormalArg-           (Array-              [ Reg (Literal (Int 1))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              , Reg (Literal (Int 4))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-01.typ"-    ( line 26 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Plus-              (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ])-              (Dict-                 [ Reg ( Ident (Identifier "b") , Literal (Int 2) )-                 , Reg ( Ident (Identifier "c") , Literal (Int 3) )-                 ]))-       , NormalArg-           (Dict-              [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-              , Reg ( Ident (Identifier "b") , Literal (Int 2) )-              , Reg ( Ident (Identifier "c") , Literal (Int 3) )-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-03.out
@@ -1,687 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Minus (Literal (Int 1)) (Literal (Int 4)))-       , NormalArg (Times (Literal (Int 3)) (Negated (Literal (Int 1))))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Minus (Literal (Numeric 4.0 Cm)) (Literal (Numeric 2.0 Cm)))-       , NormalArg (Literal (Numeric 2.0 Cm))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (ToPower-              (Minus (Literal (Int 2)) (Literal (Float 1.0e-2)))-              (Literal (Int 1)))-       , NormalArg (Literal (Float 99.99))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Times (Literal (Int 2)) (Literal (Int 4)))-       , NormalArg (Literal (Int 8))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Divided (Literal (Numeric 12.0 Pt)) (Literal (Float 0.4)))-       , NormalArg (Literal (Numeric 30.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Divided (Literal (Int 7)) (Literal (Int 2)))-       , NormalArg (Literal (Float 3.5))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (LessThan-              (Minus-                 (Literal (Int 3)) (Times (Literal (Int 4)) (Literal (Int 5))))-              (Negated (Literal (Int 10))))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Block-              (CodeBlock-                 [ Let (BasicBind (Just (Identifier "x"))) (Literal None)-                 , Assign-                     (Ident (Identifier "x"))-                     (And-                        (GreaterThanOrEqual-                           (Plus-                              (Literal (Int 1)) (Times (Literal (Int 4)) (Literal (Int 5))))-                           (Literal (Int 21)))-                        (Block-                           (CodeBlock-                              [ Assign (Ident (Identifier "x")) (Literal (String "a"))-                              , Equals-                                  (Plus (Ident (Identifier "x")) (Literal (String "b")))-                                  (Literal (String "ab"))-                              ])))-                 , Ident (Identifier "x")-                 ]))-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 19 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Plus-              (If-                 [ ( Literal (Boolean True)-                   , Block (CodeBlock [ Literal (Int 1) ])-                   )-                 ])-              (Literal (Int 2)))-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 24 , column 2 )-    (Let-       (BasicBind (Just (Identifier "nums")))-       (Array-          [ Reg (Literal (Int 1))-          , Reg (Literal (Float 3.14))-          , Reg (Literal (Numeric 12.0 Pt))-          , Reg (Literal (Numeric 3.0 Em))-          , Reg (Plus (Literal (Numeric 12.0 Pt)) (Literal (Numeric 3.0 Em)))-          , Reg (Literal (Numeric 45.0 Deg))-          , Reg (Literal (Numeric 90.0 Percent))-          , Reg-              (Plus (Literal (Numeric 13.0 Percent)) (Literal (Numeric 10.0 Pt)))-          , Reg-              (Plus-                 (Plus (Literal (Numeric 5.0 Percent)) (Literal (Numeric 1.0 Em)))-                 (Literal (Numeric 3.0 Pt)))-          , Reg (Literal (Numeric 2.3 Fr))-          ]))-, ParBreak-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 33 , column 2 )-    (For-       (BasicBind (Just (Identifier "v")))-       (Ident (Identifier "nums"))-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "test"))-                 [ NormalArg-                     (Minus-                        (Plus (Ident (Identifier "v")) (Ident (Identifier "v")))-                        (Ident (Identifier "v")))-                 , NormalArg (Ident (Identifier "v"))-                 ]-             , FuncCall-                 (Ident (Identifier "test"))-                 [ NormalArg-                     (Minus-                        (Minus (Ident (Identifier "v")) (Ident (Identifier "v")))-                        (Ident (Identifier "v")))-                 , NormalArg (Negated (Ident (Identifier "v")))-                 ]-             , FuncCall-                 (Ident (Identifier "test"))-                 [ NormalArg-                     (Minus (Ident (Identifier "v")) (Ident (Identifier "v")))-                 , NormalArg (Times (Literal (Int 0)) (Ident (Identifier "v")))-                 ]-             , FuncCall-                 (Ident (Identifier "test"))-                 [ NormalArg-                     (Plus (Ident (Identifier "v")) (Ident (Identifier "v")))-                 , NormalArg (Times (Literal (Int 2)) (Ident (Identifier "v")))-                 ]-             , If-                 [ ( Not-                       (Equals-                          (FuncCall-                             (Ident (Identifier "type")) [ NormalArg (Ident (Identifier "v")) ])-                          (Literal (String "integer")))-                   , Block-                       (CodeBlock-                          [ FuncCall-                              (Ident (Identifier "test"))-                              [ NormalArg-                                  (Plus (Ident (Identifier "v")) (Ident (Identifier "v")))-                              , NormalArg (Times (Literal (Float 2.0)) (Ident (Identifier "v")))-                              ]-                          ])-                   )-                 ]-             , If-                 [ ( And-                       (Not-                          (InCollection-                             (Literal (String "relative"))-                             (FuncCall-                                (Ident (Identifier "type"))-                                [ NormalArg (Ident (Identifier "v")) ])))-                       (Or-                          (Not-                             (InCollection-                                (Literal (String "pt"))-                                (FuncCall-                                   (Ident (Identifier "repr"))-                                   [ NormalArg (Ident (Identifier "v")) ])))-                          (Not-                             (InCollection-                                (Literal (String "em"))-                                (FuncCall-                                   (Ident (Identifier "repr"))-                                   [ NormalArg (Ident (Identifier "v")) ]))))-                   , Block-                       (CodeBlock-                          [ FuncCall-                              (Ident (Identifier "test"))-                              [ NormalArg-                                  (Divided (Ident (Identifier "v")) (Ident (Identifier "v")))-                              , NormalArg (Literal (Float 1.0))-                              ]-                          ])-                   )-                 ]-             ])))-, ParBreak-, Comment-, Comment-, Comment-, Comment-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 56 , column 2 )-    (Let-       (BasicBind (Just (Identifier "dims")))-       (Array-          [ Reg (Literal (Numeric 10.0 Pt))-          , Reg (Literal (Numeric 1.0 Em))-          , Reg (Plus (Literal (Numeric 10.0 Pt)) (Literal (Numeric 1.0 Em)))-          , Reg (Literal (Numeric 30.0 Percent))-          , Reg-              (Plus (Literal (Numeric 50.0 Percent)) (Literal (Numeric 3.0 Cm)))-          , Reg-              (Plus-                 (Plus (Literal (Numeric 40.0 Percent)) (Literal (Numeric 2.0 Em)))-                 (Literal (Numeric 1.0 Cm)))-          ]))-, SoftBreak-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 57 , column 2 )-    (For-       (BasicBind (Just (Identifier "a")))-       (Ident (Identifier "dims"))-       (Block-          (CodeBlock-             [ For-                 (BasicBind (Just (Identifier "b")))-                 (Ident (Identifier "dims"))-                 (Block-                    (CodeBlock-                       [ FuncCall-                           (Ident (Identifier "test"))-                           [ NormalArg-                               (FuncCall-                                  (Ident (Identifier "type"))-                                  [ NormalArg-                                      (Plus (Ident (Identifier "a")) (Ident (Identifier "b")))-                                  ])-                           , NormalArg-                               (FuncCall-                                  (Ident (Identifier "type"))-                                  [ NormalArg-                                      (Minus (Ident (Identifier "a")) (Ident (Identifier "b")))-                                  ])-                           ]-                       ]))-             , For-                 (BasicBind (Just (Identifier "b")))-                 (Array [ Reg (Literal (Int 7)) , Reg (Literal (Float 3.14)) ])-                 (Block-                    (CodeBlock-                       [ FuncCall-                           (Ident (Identifier "test"))-                           [ NormalArg-                               (FuncCall-                                  (Ident (Identifier "type"))-                                  [ NormalArg-                                      (Times (Ident (Identifier "a")) (Ident (Identifier "b")))-                                  ])-                           , NormalArg-                               (FuncCall-                                  (Ident (Identifier "type"))-                                  [ NormalArg (Ident (Identifier "a")) ])-                           ]-                       , FuncCall-                           (Ident (Identifier "test"))-                           [ NormalArg-                               (FuncCall-                                  (Ident (Identifier "type"))-                                  [ NormalArg-                                      (Times (Ident (Identifier "b")) (Ident (Identifier "a")))-                                  ])-                           , NormalArg-                               (FuncCall-                                  (Ident (Identifier "type"))-                                  [ NormalArg (Ident (Identifier "a")) ])-                           ]-                       , FuncCall-                           (Ident (Identifier "test"))-                           [ NormalArg-                               (FuncCall-                                  (Ident (Identifier "type"))-                                  [ NormalArg-                                      (Divided (Ident (Identifier "a")) (Ident (Identifier "b")))-                                  ])-                           , NormalArg-                               (FuncCall-                                  (Ident (Identifier "type"))-                                  [ NormalArg (Ident (Identifier "a")) ])-                           ]-                       ]))-             ])))-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-03.typ"-    ( line 70 , column 2 )-    (For-       (BasicBind (Just (Identifier "a")))-       (Array-          [ Reg (Literal (Numeric 0.0 Pt))-          , Reg (Literal (Numeric 0.0 Em))-          , Reg (Literal (Numeric 0.0 Percent))-          ])-       (Block-          (CodeBlock-             [ For-                 (BasicBind (Just (Identifier "b")))-                 (Array-                    [ Reg (Literal (Numeric 10.0 Pt))-                    , Reg (Literal (Numeric 10.0 Em))-                    , Reg (Literal (Numeric 10.0 Percent))-                    ])-                 (Block-                    (CodeBlock-                       [ FuncCall-                           (Ident (Identifier "test"))-                           [ NormalArg-                               (Divided-                                  (Times (Literal (Int 2)) (Ident (Identifier "b")))-                                  (Ident (Identifier "b")))-                           , NormalArg (Literal (Int 2))-                           ]-                       , FuncCall-                           (Ident (Identifier "test"))-                           [ NormalArg-                               (Divided-                                  (Plus-                                     (Ident (Identifier "a"))-                                     (Times (Ident (Identifier "b")) (Literal (Int 2))))-                                  (Ident (Identifier "b")))-                           , NormalArg (Literal (Int 2))-                           ]-                       , FuncCall-                           (Ident (Identifier "test"))-                           [ NormalArg-                               (Divided-                                  (Ident (Identifier "b"))-                                  (Plus-                                     (Times (Ident (Identifier "b")) (Literal (Int 2)))-                                     (Ident (Identifier "a"))))-                           , NormalArg (Literal (Float 0.5))-                           ]-                       ]))-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: [1.0]), -                 text(body: [ /= ]), -                 text(body: [99.99]), -                 text(body: [)]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak(), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [❌(]), -                 text(body: [((12.0pt + 3.0em) + (12.0pt + 3.0em)) + (-12.0pt + -3.0em)]), -                 text(body: [ /= ]), -                 text(body: [12.0pt + 3.0em]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [((12.0pt + 3.0em) + (-12.0pt + -3.0em)) + (-12.0pt + -3.0em)]), -                 text(body: [ /= ]), -                 text(body: [-12.0pt + -3.0em]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [(12.0pt + 3.0em) + (-12.0pt + -3.0em)]), -                 text(body: [ /= ]), -                 text(body: [0.0pt + 0.0em]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [(12.0pt + 3.0em) + (12.0pt + 3.0em)]), -                 text(body: [ /= ]), -                 text(body: [24.0pt + 6.0em]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [(12.0pt + 3.0em) + (12.0pt + 3.0em)]), -                 text(body: [ /= ]), -                 text(body: [24.0pt + 6.0em]), -                 text(body: [)]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [❌(]), -                 text(body: [((10.0pt + 13%) + (10.0pt + 13%)) + (-10.0pt + -13%)]), -                 text(body: [ /= ]), -                 text(body: [10.0pt + 13%]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [((10.0pt + 13%) + (-10.0pt + -13%)) + (-10.0pt + -13%)]), -                 text(body: [ /= ]), -                 text(body: [-10.0pt + -13%]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [(10.0pt + 13%) + (-10.0pt + -13%)]), -                 text(body: [ /= ]), -                 text(body: [0.0pt + 0%]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [(10.0pt + 13%) + (10.0pt + 13%)]), -                 text(body: [ /= ]), -                 text(body: [20.0pt + 26%]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [(10.0pt + 13%) + (10.0pt + 13%)]), -                 text(body: [ /= ]), -                 text(body: [20.0pt + 26%]), -                 text(body: [)]), -                 text(body: [✅]), -                 text(body: [❌(]), -                 text(body: [(((1.0em + 5%) + 3.0pt) + ((1.0em + 5%) + 3.0pt)) + ((-1.0em + -5%) + -3.0pt)]), -                 text(body: [ /= ]), -                 text(body: [(1.0em + 5%) + 3.0pt]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [(((1.0em + 5%) + 3.0pt) + ((-1.0em + -5%) + -3.0pt)) + ((-1.0em + -5%) + -3.0pt)]), -                 text(body: [ /= ]), -                 text(body: [(-1.0em + -5%) + -3.0pt]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [((1.0em + 5%) + 3.0pt) + ((-1.0em + -5%) + -3.0pt)]), -                 text(body: [ /= ]), -                 text(body: [(0.0em + 0%) + 0.0pt]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [((1.0em + 5%) + 3.0pt) + ((1.0em + 5%) + 3.0pt)]), -                 text(body: [ /= ]), -                 text(body: [(2.0em + 10%) + 6.0pt]), -                 text(body: [)]), -                 text(body: [❌(]), -                 text(body: [((1.0em + 5%) + 3.0pt) + ((1.0em + 5%) + 3.0pt)]), -                 text(body: [ /= ]), -                 text(body: [(2.0em + 10%) + 6.0pt]), -                 text(body: [)]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [❌(]), -                 text(body: [1.0fr]), -                 text(body: [ /= ]), -                 text(body: [1.0]), -                 text(body: [)]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [❌(]), -                 text(body: [200%]), -                 text(body: [ /= ]), -                 text(body: [2]), -                 text(body: [)]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [❌(]), -                 text(body: [200%]), -                 text(body: [ /= ]), -                 text(body: [2]), -                 text(body: [)]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-04.out
@@ -1,77 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/ops-04.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Literal (Int 16)) , NormalArg (Literal (Int 16)) ])-, SoftBreak-, Code-    "test/typ/compiler/ops-04.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Literal (Int 13)) , NormalArg (Literal (Int 13)) ])-, SoftBreak-, Code-    "test/typ/compiler/ops-04.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Plus (Literal (Int 10)) (Literal (Int 10)))-       , NormalArg (Literal (Int 20))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-07.out
@@ -1,199 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Not (Literal (Boolean True)))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Not (Literal (Boolean False)))-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (And (Literal (Boolean False)) (Literal (Boolean False)))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (And (Literal (Boolean False)) (Literal (Boolean True)))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (And (Literal (Boolean True)) (Literal (Boolean False)))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (And (Literal (Boolean True)) (Literal (Boolean True)))-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Or (Literal (Boolean False)) (Literal (Boolean False)))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Or (Literal (Boolean False)) (Literal (Boolean True)))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Or (Literal (Boolean True)) (Literal (Boolean False)))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 18 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Or (Literal (Boolean True)) (Literal (Boolean True)))-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 21 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (And (Literal (Boolean False)) (Ident (Identifier "dont-care")))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-07.typ"-    ( line 22 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Or (Literal (Boolean True)) (Ident (Identifier "dont-care")))-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-08.out
@@ -1,327 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Equals (Literal (Int 1)) (Literal (String "hi")))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Equals (Literal (Int 1)) (Literal (Float 1.0)))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Literal (Numeric 30.0 Percent))-              (Plus (Literal (Numeric 30.0 Percent)) (Literal (Numeric 0.0 Cm))))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Literal (Numeric 1.0 In))-              (Plus (Literal (Numeric 0.0 Percent)) (Literal (Numeric 72.0 Pt))))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Literal (Numeric 30.0 Percent))-              (Plus (Literal (Numeric 30.0 Percent)) (Literal (Numeric 1.0 Cm))))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Literal (String "ab"))-              (Plus (Literal (String "a")) (Literal (String "b"))))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Equals (Array []) (Array [ Reg (Literal (Int 1)) ]))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Array-                 [ Reg (Literal (Int 1))-                 , Reg (Literal (Int 2))-                 , Reg (Literal (Int 3))-                 ])-              (Plus-                 (Array [ Reg (Literal (Int 1)) , Reg (Literal (Float 2.0)) ])-                 (Array [ Reg (Literal (Int 3)) ])))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Dict [])-              (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ]))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 14 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Dict-                 [ Reg-                     ( Ident (Identifier "a")-                     , Minus (Literal (Int 2)) (Literal (Float 1.0))-                     )-                 , Reg ( Ident (Identifier "b") , Literal (Int 2) )-                 ])-              (Dict-                 [ Reg ( Ident (Identifier "b") , Literal (Int 2) )-                 , Reg ( Ident (Identifier "a") , Literal (Int 1) )-                 ]))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Not (Equals (Literal (String "a")) (Literal (String "a"))))-       , NormalArg (Literal (Boolean False))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 18 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals (Ident (Identifier "test")) (Ident (Identifier "test")))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 19 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (FuncExpr [] (Block (CodeBlock [])))-              (FuncExpr [] (Block (CodeBlock []))))-       , NormalArg (Literal (Boolean False))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 22 , column 2 )-    (Let-       (BasicBind (Just (Identifier "t"))) (Block (Content [ Text "a" ])))-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 23 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals (Ident (Identifier "t")) (Ident (Identifier "t")))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 24 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Equals (Block (Content [])) (Block (Content [])))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 25 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Block (Content [ Text "a" ])) (Block (Content [ Text "a" ])))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 26 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (FuncCall (Ident (Identifier "grid")) [ BlockArg [ Text "a" ] ])-              (FuncCall (Ident (Identifier "grid")) [ BlockArg [ Text "a" ] ]))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-08.typ"-    ( line 27 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (FuncCall (Ident (Identifier "grid")) [ BlockArg [ Text "a" ] ])-              (FuncCall (Ident (Identifier "grid")) [ BlockArg [ Text "b" ] ]))-       , NormalArg (Literal (Boolean False))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [❌(]), -                 text(body: [false]), -                 text(body: [ /= ]), -                 text(body: [true]), -                 text(body: [)]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-09.out
@@ -1,181 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/ops-09.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (LessThan-              (Times (Literal (Int 13)) (Literal (Int 3)))-              (Times (Literal (Int 14)) (Literal (Int 4))))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-09.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (LessThan (Literal (Int 5)) (Literal (Int 10)))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-09.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (GreaterThan (Literal (Int 5)) (Literal (Int 5)))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-09.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (LessThanOrEqual (Literal (Int 5)) (Literal (Int 5)))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-09.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (LessThanOrEqual (Literal (Int 5)) (Literal (Int 4)))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-09.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (LessThan (Literal (Numeric 45.0 Deg)) (Literal (Numeric 1.0 Rad)))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-09.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (LessThan-              (Literal (Numeric 10.0 Percent)) (Literal (Numeric 20.0 Percent)))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-09.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (LessThan-              (Literal (Numeric 50.0 Percent))-              (Plus (Literal (Numeric 40.0 Percent)) (Literal (Numeric 0.0 Pt))))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-09.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (LessThan-              (Plus (Literal (Numeric 40.0 Percent)) (Literal (Numeric 0.0 Pt)))-              (Plus (Literal (Numeric 50.0 Percent)) (Literal (Numeric 0.0 Pt))))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-09.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (LessThan (Literal (Numeric 1.0 Em)) (Literal (Numeric 2.0 Em)))-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-10.out
@@ -1,191 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-10.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-10.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-10.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 4 , column 2 )-    (Let (BasicBind (Just (Identifier "x"))) (Literal (Int 0)))-, SoftBreak-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 5 , column 2 )-    (Assign (Ident (Identifier "x")) (Literal (Int 10)))-, Space-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 5 , column 18 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (Int 10))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 6 , column 2 )-    (Assign-       (Ident (Identifier "x"))-       (Minus (Ident (Identifier "x")) (Literal (Int 5))))-, Space-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 6 , column 18 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (Int 5))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 7 , column 2 )-    (Assign-       (Ident (Identifier "x"))-       (Plus (Ident (Identifier "x")) (Literal (Int 1))))-, Space-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 7 , column 18 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (Int 6))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 8 , column 2 )-    (Assign-       (Ident (Identifier "x"))-       (Times (Ident (Identifier "x")) (Ident (Identifier "x"))))-, Space-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 8 , column 18 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (Int 36))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 9 , column 2 )-    (Assign-       (Ident (Identifier "x"))-       (Divided (Ident (Identifier "x")) (Literal (Float 2.0))))-, Space-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 9 , column 18 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (Float 18.0))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 10 , column 2 )-    (Assign (Ident (Identifier "x")) (Literal (String "some")))-, Space-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 10 , column 18 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (String "some"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 11 , column 2 )-    (Assign-       (Ident (Identifier "x"))-       (Plus (Ident (Identifier "x")) (Literal (String "thing"))))-, Space-, Code-    "test/typ/compiler/ops-10.typ"-    ( line 11 , column 18 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (String "something"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [ ]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [ ]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [ ]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [ ]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [ ]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [ ]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [ ]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-11.out
@@ -1,3 +0,0 @@-"test/typ/compiler/ops-11.typ" (line 19, column 5):-unexpected ":"-expecting "//", "/*", operator or ")"
− test/out/compiler/ops-12.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-13.out
@@ -1,210 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-13.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-13.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-13.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection (Literal (String "hi")) (Literal (String "worship")))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection-              (Literal (String "hi"))-              (Array-                 [ Reg (Literal (String "we"))-                 , Reg (Literal (String "hi"))-                 , Reg (Literal (String "bye"))-                 ]))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection-              (Literal (String "Hey")) (Literal (String "abHeyCd")))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection-              (Literal (String "Hey")) (Literal (String "abheyCd")))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection-              (Literal (Int 5))-              (FuncCall-                 (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ]))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection-              (Literal (Int 12))-              (FuncCall-                 (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ]))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (InCollection (Literal (String "")) (Array []))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection-              (Literal (String "key"))-              (Dict-                 [ Reg ( Ident (Identifier "key") , Literal (String "value") ) ]))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection-              (Literal (String "value"))-              (Dict-                 [ Reg ( Ident (Identifier "key") , Literal (String "value") ) ]))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Not-              (InCollection-                 (Literal (String "Hey")) (Literal (String "abheyCd"))))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-13.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Not-              (InCollection (Literal (String "a")) (Literal (String "abc"))))-       , NormalArg (Literal (Boolean False))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-14.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-15.out
@@ -1,207 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-15.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-15.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-15.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/compiler/ops-15.typ"-    ( line 5 , column 2 )-    (LetFunc-       (Identifier "add")-       [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-       (Plus (Ident (Identifier "x")) (Ident (Identifier "y"))))-, SoftBreak-, Code-    "test/typ/compiler/ops-15.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "with")) (Ident (Identifier "add")))-                 [ NormalArg (Literal (Int 2)) ])-              [ NormalArg (Literal (Int 3)) ])-       , NormalArg (Literal (Int 5))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-15.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "with"))-                    (FuncCall-                       (FieldAccess-                          (Ident (Identifier "with")) (Ident (Identifier "add")))-                       [ NormalArg (Literal (Int 2)) ]))-                 [ NormalArg (Literal (Int 3)) ])-              [])-       , NormalArg (Literal (Int 5))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-15.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "with")) (Ident (Identifier "add")))-                 [ NormalArg (Literal (Int 2)) ])-              [ NormalArg (Literal (Int 4)) ])-       , NormalArg (Literal (Int 6))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-15.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "with"))-                    (FuncCall-                       (FieldAccess-                          (Ident (Identifier "with")) (Ident (Identifier "add")))-                       [ NormalArg (Literal (Int 2)) ]))-                 [ NormalArg (Literal (Int 3)) ])-              [])-       , NormalArg (Literal (Int 5))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-15.typ"-    ( line 12 , column 2 )-    (LetFunc-       (Identifier "inc")-       [ NormalParam (Identifier "x")-       , DefaultParam (Identifier "y") (Literal (Int 1))-       ]-       (Plus (Ident (Identifier "x")) (Ident (Identifier "y"))))-, SoftBreak-, Code-    "test/typ/compiler/ops-15.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "inc")) [ NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (Int 2))-       ])-, ParBreak-, Code-    "test/typ/compiler/ops-15.typ"-    ( line 15 , column 2 )-    (Let-       (BasicBind (Just (Identifier "inc2")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "inc")))-          [ KeyValArg (Identifier "y") (Literal (Int 2)) ]))-, SoftBreak-, Code-    "test/typ/compiler/ops-15.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "inc2")) [ NormalArg (Literal (Int 2)) ])-       , NormalArg (Literal (Int 4))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-15.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "inc2"))-              [ NormalArg (Literal (Int 2))-              , KeyValArg (Identifier "y") (Literal (Int 4))-              ])-       , NormalArg (Literal (Int 6))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-assoc-00.out
@@ -1,93 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-assoc-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-assoc-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-assoc-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/ops-assoc-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Divided-                 (Divided (Literal (Int 10)) (Literal (Int 2))) (Literal (Int 2)))-              (Divided-                 (Divided (Literal (Int 10)) (Literal (Int 2))) (Literal (Int 2))))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-assoc-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Divided-                 (Divided (Literal (Int 10)) (Literal (Int 2))) (Literal (Int 2)))-              (Divided-                 (Literal (Int 10)) (Divided (Literal (Int 2)) (Literal (Int 2)))))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-assoc-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Times-              (Divided (Literal (Int 1)) (Literal (Int 2))) (Literal (Int 3)))-       , NormalArg (Literal (Float 1.5))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-assoc-01.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-assoc-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-assoc-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-assoc-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "{"-, SoftBreak-, Text "let"-, Space-, Text "x"-, Space-, Text "="-, Space-, Text "1"-, SoftBreak-, Text "let"-, Space-, Text "y"-, Space-, Text "="-, Space-, Text "2"-, SoftBreak-, Text "x"-, Space-, Text "="-, Space-, Text "y"-, Space-, Text "="-, Space-, Quote '"'-, Text "ok"-, Quote '"'-, SoftBreak-, Text "test"-, Text "("-, Text "x,"-, Space-, Text "none)"-, SoftBreak-, Text "test"-, Text "("-, Text "y,"-, Space-, Quote '"'-, Text "ok"-, Quote '"'-, Text ")"-, SoftBreak-, Text "}"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [{-let x = 1-let y = 2-x = y = “ok”-test(x, none)-test(y, “ok”)-}]), -                 parbreak() })
− test/out/compiler/ops-invalid-00.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-11.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-12.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-13.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-14.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-15.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-16.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-17.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-18.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-19.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-20.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-21.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-22.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-23.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-24.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-25.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-26.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-27.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-28.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-invalid-29.out
@@ -1,60 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-invalid-29.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-invalid-29.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-invalid-29.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/ops-invalid-29.typ"-    ( line 4 , column 2 )-    (Let (BasicBind (Just (Identifier "rect"))) (Literal (String "")))-, SoftBreak-, Code-    "test/typ/compiler/ops-invalid-29.typ"-    ( line 5 , column 2 )-    (Assign (Ident (Identifier "rect")) (Literal (String "hi")))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak() })
− test/out/compiler/ops-prec-00.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-prec-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-prec-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-prec-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/ops-prec-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Plus-              (Literal (Int 1))-              (Times (Literal (Int 2)) (Negated (Literal (Int 3)))))-       , NormalArg (Negated (Literal (Int 5)))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-prec-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Equals-              (Literal (Int 3)) (Minus (Literal (Int 5)) (Literal (Int 2))))-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/ops-prec-00.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (And-              (Equals (Literal (String "a")) (Literal (String "a")))-              (LessThan (Literal (Int 2)) (Literal (Int 3))))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/ops-prec-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Not (Equals (Literal (String "b")) (Literal (String "b"))))-       , NormalArg (Literal (Boolean False))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-prec-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-prec-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/ops-prec-03.out
@@ -1,65 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/ops-prec-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/ops-prec-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/ops-prec-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/ops-prec-03.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (Not-              (InCollection-                 (Negated (Literal (Int 1)))-                 (Array-                    [ Reg (Literal (Int 1))-                    , Reg (Literal (Int 2))-                    , Reg (Literal (Int 3))-                    ])))-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/ops-prec-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/recursion-00.out
@@ -1,87 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/recursion-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/recursion-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/recursion-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/recursion-00.typ"-    ( line 3 , column 2 )-    (LetFunc-       (Identifier "fib")-       [ NormalParam (Identifier "n") ]-       (Block-          (CodeBlock-             [ If-                 [ ( LessThanOrEqual (Ident (Identifier "n")) (Literal (Int 2))-                   , Block (CodeBlock [ Literal (Int 1) ])-                   )-                 , ( Literal (Boolean True)-                   , Block-                       (CodeBlock-                          [ Plus-                              (FuncCall-                                 (Ident (Identifier "fib"))-                                 [ NormalArg (Minus (Ident (Identifier "n")) (Literal (Int 1))) ])-                              (FuncCall-                                 (Ident (Identifier "fib"))-                                 [ NormalArg (Minus (Ident (Identifier "n")) (Literal (Int 2))) ])-                          ])-                   )-                 ]-             ])))-, ParBreak-, Code-    "test/typ/compiler/recursion-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "fib")) [ NormalArg (Literal (Int 10)) ])-       , NormalArg (Literal (Int 55))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/recursion-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/recursion-02.out
@@ -1,74 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/recursion-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/recursion-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/recursion-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/recursion-02.typ"-    ( line 3 , column 2 )-    (Let (BasicBind (Just (Identifier "f"))) (Literal (Int 10)))-, SoftBreak-, Code-    "test/typ/compiler/recursion-02.typ"-    ( line 4 , column 2 )-    (LetFunc (Identifier "f") [] (Ident (Identifier "f")))-, SoftBreak-, Code-    "test/typ/compiler/recursion-02.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg (FuncCall (Ident (Identifier "f")) []) ])-       , NormalArg (Literal (String "function"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/recursion-03.out
@@ -1,76 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/recursion-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/recursion-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/recursion-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/recursion-03.typ"-    ( line 3 , column 2 )-    (Let (BasicBind (Just (Identifier "f"))) (Literal (Int 10)))-, SoftBreak-, Code-    "test/typ/compiler/recursion-03.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "f")))-       (FuncExpr [] (Ident (Identifier "f"))))-, SoftBreak-, Code-    "test/typ/compiler/recursion-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg (FuncCall (Ident (Identifier "f")) []) ])-       , NormalArg (Literal (String "integer"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/recursion-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/recursion-05.out
@@ -1,86 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/recursion-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/recursion-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/recursion-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compiler/recursion-05.typ"-    ( line 2 , column 2 )-    (LetFunc-       (Identifier "f")-       [ NormalParam (Identifier "x") ]-       (Literal (String "hello")))-, SoftBreak-, Code-    "test/typ/compiler/recursion-05.typ"-    ( line 3 , column 2 )-    (LetFunc-       (Identifier "f")-       [ NormalParam (Identifier "x") ]-       (If-          [ ( Not (Equals (Ident (Identifier "x")) (Literal None))-            , Block-                (CodeBlock-                   [ FuncCall (Ident (Identifier "f")) [ NormalArg (Literal None) ] ])-            )-          , ( Literal (Boolean True)-            , Block (CodeBlock [ Literal (String "world") ])-            )-          ]))-, SoftBreak-, Code-    "test/typ/compiler/recursion-05.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (String "world"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/repr-00.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/repr-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/repr-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/repr-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/repr-00.typ"-    ( line 3 , column 2 )-    (Literal Auto)-, Space-, HardBreak-, Code-    "test/typ/compiler/repr-00.typ"-    ( line 4 , column 2 )-    (Literal None)-, Space-, Text "("-, Text "empty)"-, Space-, HardBreak-, Code-    "test/typ/compiler/repr-00.typ"-    ( line 5 , column 2 )-    (Literal (Boolean True))-, Space-, HardBreak-, Code-    "test/typ/compiler/repr-00.typ"-    ( line 6 , column 2 )-    (Literal (Boolean False))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [auto]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [ (empty) ]), -                 linebreak(), -                 text(body: [true]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [false]), -                 parbreak() })
− test/out/compiler/repr-01.out
@@ -1,156 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/repr-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/repr-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/repr-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 3 , column 2 )-    (Literal (Int 1))-, Space-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 4 , column 2 )-    (Literal (Float 1.0e-4))-, Space-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 5 , column 2 )-    (Literal (Float 3.15))-, Space-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 6 , column 2 )-    (Literal (Float 1.0e-10))-, Space-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 7 , column 2 )-    (Literal (Numeric 50.368 Percent))-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 8 , column 2 )-    (Literal (Numeric 1.2345e-6 Pt))-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 9 , column 2 )-    (Literal (Numeric 4.5 Cm))-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 10 , column 2 )-    (Literal (Numeric 120.0 Pt))-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 11 , column 2 )-    (Literal (Numeric 2.5 Rad))-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 12 , column 2 )-    (Literal (Numeric 45.0 Deg))-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 13 , column 2 )-    (Literal (Numeric 1.7 Em))-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 14 , column 2 )-    (Plus (Literal (Numeric 1.0 Cm)) (Literal (Numeric 0.0 Em)))-, Space-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 15 , column 2 )-    (Plus (Literal (Numeric 2.0 Em)) (Literal (Numeric 10.0 Pt)))-, Space-, HardBreak-, Code-    "test/typ/compiler/repr-01.typ"-    ( line 16 , column 2 )-    (Literal (Numeric 2.3 Fr))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [1]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [1.0e-4]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [3.15]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [1.0e-10]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [50%]), -                 linebreak(), -                 text(body: [1.2345e-6pt]), -                 linebreak(), -                 text(body: [4.5cm]), -                 linebreak(), -                 text(body: [120.0pt]), -                 linebreak(), -                 text(body: [143.2394487827058deg]), -                 linebreak(), -                 text(body: [45.0deg]), -                 linebreak(), -                 text(body: [1.7em]), -                 linebreak(), -                 text(body: [1.0cm]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [2.0em + 10.0pt]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [2.3fr]), -                 parbreak() })
− test/out/compiler/repr-02.out
@@ -1,157 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/repr-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/repr-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/repr-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/repr-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 0.8 Em)) ])-, SoftBreak-, Code-    "test/typ/compiler/repr-02.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "rgb"))-       [ NormalArg (Literal (String "f7a205")) ])-, Space-, HardBreak-, Code-    "test/typ/compiler/repr-02.typ"-    ( line 5 , column 2 )-    (Plus-       (Literal (Numeric 2.0 Pt))-       (FuncCall-          (Ident (Identifier "rgb"))-          [ NormalArg (Literal (String "f7a205")) ]))-, ParBreak-, Comment-, Code-    "test/typ/compiler/repr-02.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "raw"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "repr")) [ NormalArg (Literal (String "hi")) ])-       , KeyValArg (Identifier "lang") (Literal (String "typc"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/repr-02.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "repr"))-       [ NormalArg (Literal (String "a\n[]\"\128640string")) ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/repr-02.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "raw"))-       [ KeyValArg (Identifier "lang") (Literal (String "typc"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "repr")) [ BlockArg [ Strong [ Text "Hey" ] ] ])-       ])-, ParBreak-, Comment-, Text "Nothing"-, SoftBreak-, Code-    "test/typ/compiler/repr-02.typ"-    ( line 16 , column 2 )-    (LetFunc-       (Identifier "f")-       [ NormalParam (Identifier "x") ]-       (Ident (Identifier "x")))-, SoftBreak-, Code-    "test/typ/compiler/repr-02.typ"-    ( line 17 , column 2 )-    (Ident (Identifier "f"))-, SoftBreak-, Code-    "test/typ/compiler/repr-02.typ"-    ( line 18 , column 2 )-    (Ident (Identifier "rect"))-, SoftBreak-, Code-    "test/typ/compiler/repr-02.typ"-    ( line 19 , column 2 )-    (FuncExpr [] (Literal None))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], size: 0.8em), -                 text(body: [rgb(96%,63%,1%,100%)], -                      size: 0.8em), -                 text(body: [ ], size: 0.8em), -                 linebreak(), -                 text(body: [(thickness: 2.0pt,- color: rgb(96%,63%,1%,100%))], -                      size: 0.8em), -                 parbreak(), -                 raw(lang: "typc", -                     text: "\"hi\""), -                 text(body: [-], size: 0.8em), -                 text(body: ["a\n[]\"🚀string"], -                      size: 0.8em), -                 parbreak(), -                 raw(lang: "typc", -                     text: "strong(body: text(body: [Hey], \n                  size: 0.8em))"), -                 parbreak(), -                 text(body: [Nothing-], -                      size: 0.8em), -                 text(body: [-], size: 0.8em), -                 text(body: [-], size: 0.8em), -                 text(body: [-], size: 0.8em), -                 parbreak() })
− test/out/compiler/return-00.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/return-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/return-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/return-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/return-00.typ"-    ( line 3 , column 2 )-    (LetFunc-       (Identifier "f")-       [ NormalParam (Identifier "x") ]-       (Block-          (CodeBlock-             [ Return (Just (Plus (Ident (Identifier "x")) (Literal (Int 1))))-             ])))-, ParBreak-, Code-    "test/typ/compiler/return-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (Int 2))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/return-01.out
@@ -1,112 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/return-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/return-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/return-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/return-01.typ"-    ( line 4 , column 2 )-    (LetFunc-       (Identifier "f")-       [ NormalParam (Identifier "x") ]-       (Block-          (CodeBlock-             [ Literal (String "a")-             , If-                 [ ( Equals (Ident (Identifier "x")) (Literal (Int 0))-                   , Block (CodeBlock [ Return (Just (Literal (String "b"))) ])-                   )-                 , ( Equals (Ident (Identifier "x")) (Literal (Int 1))-                   , Block (CodeBlock [ Literal (String "c") ])-                   )-                 , ( Literal (Boolean True)-                   , Block-                       (CodeBlock-                          [ Literal (String "d") , Return Nothing , Literal (String "e") ])-                   )-                 ]-             ])))-, ParBreak-, Code-    "test/typ/compiler/return-01.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 0)) ])-       , NormalArg (Literal (String "b"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/return-01.typ"-    ( line 18 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (String "ac"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/return-01.typ"-    ( line 19 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 2)) ])-       , NormalArg (Literal (String "ad"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/return-02.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/return-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/return-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/return-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, SoftBreak-, Code-    "test/typ/compiler/return-02.typ"-    ( line 5 , column 2 )-    (LetFunc-       (Identifier "f")-       [ NormalParam (Identifier "text")-       , DefaultParam (Identifier "caption") (Literal None)-       ]-       (Block-          (CodeBlock-             [ Ident (Identifier "text")-             , If-                 [ ( Equals (Ident (Identifier "caption")) (Literal None)-                   , Block-                       (Content-                          [ Text "."-                          , Code-                              "test/typ/compiler/return-02.typ"-                              ( line 7 , column 26 )-                              (Return Nothing)-                          ])-                   )-                 ]-             , Block (Content [ Text "," , Space ])-             , FuncCall-                 (Ident (Identifier "emph"))-                 [ NormalArg (Ident (Identifier "caption")) ]-             , Block (Content [ Text "." ])-             ])))-, ParBreak-, Code-    "test/typ/compiler/return-02.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "f"))-       [ KeyValArg-           (Identifier "caption")-           (Block (Content [ Text "with" , Space , Text "caption" ]))-       , BlockArg [ Text "My" , Space , Text "figure" ]-       ])-, ParBreak-, Code-    "test/typ/compiler/return-02.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "f"))-       [ BlockArg-           [ Text "My" , Space , Text "other" , Space , Text "figure" ]-       ])-, ParBreak-]-"test/typ/compiler/return-02.typ" (line 13, column 2):-unexpected end of input-text is not an element function
− test/out/compiler/return-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/return-04.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/return-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/return-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/return-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/return-04.typ"-    ( line 3 , column 2 )-    (LetFunc-       (Identifier "sum")-       [ SinkParam (Just (Identifier "args")) ]-       (Block-          (CodeBlock-             [ Let (BasicBind (Just (Identifier "s"))) (Literal (Int 0))-             , For-                 (BasicBind (Just (Identifier "v")))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "pos")) (Ident (Identifier "args")))-                    [])-                 (Block-                    (CodeBlock-                       [ Assign-                           (Ident (Identifier "s"))-                           (Plus (Ident (Identifier "s")) (Ident (Identifier "v")))-                       ]))-             , Ident (Identifier "s")-             ])))-, ParBreak-, Code-    "test/typ/compiler/return-04.typ"-    ( line 11 , column 2 )-    (LetFunc-       (Identifier "f")-       []-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "sum"))-                 [ SpreadArg (Return Nothing)-                 , NormalArg (Literal (Int 1))-                 , NormalArg (Literal (Int 2))-                 , NormalArg (Literal (Int 3))-                 ]-             , Literal (String "nope")-             ])))-, ParBreak-, Code-    "test/typ/compiler/return-04.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (FuncCall (Ident (Identifier "f")) [])-       , NormalArg (Literal (Int 6))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 parbreak(), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/return-05.out
@@ -1,97 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/return-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/return-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/return-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/return-05.typ"-    ( line 3 , column 2 )-    (Let (BasicBind (Just (Identifier "x"))) (Literal (Int 3)))-, SoftBreak-, Code-    "test/typ/compiler/return-05.typ"-    ( line 4 , column 2 )-    (LetFunc-       (Identifier "f")-       []-       (Block-          (Content-             [ SoftBreak-             , Text "Hello"-             , Space-             , Text "\128512"-             , SoftBreak-             , Code-                 "test/typ/compiler/return-05.typ"-                 ( line 6 , column 4 )-                 (Return (Just (Literal (String "nope"))))-             , SoftBreak-             , Text "World"-             , ParBreak-             ])))-, ParBreak-, Code-    "test/typ/compiler/return-05.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (FuncCall (Ident (Identifier "f")) [])-       , NormalArg (Literal (String "nope"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [❌(]), -                 text(body: [{ text(body: [-Hello 😀-]), -  text(body: [nope]), -  text(body: [-World]), -  parbreak() }]), -                 text(body: [ /= ]), -                 text(body: ["nope"]), -                 text(body: [)]), -                 parbreak() })
− test/out/compiler/set-00.out
@@ -1,66 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/set-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/set-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/set-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/set-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "x")))-       (Block (Content [ Text "World" ])))-, SoftBreak-, Text "Hello"-, Space-, Strong-    [ Code-        "test/typ/compiler/set-00.typ"-        ( line 4 , column 9 )-        (Ident (Identifier "x"))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Hello ]), -                 strong(body: text(body: [World])), -                 parbreak() })
− test/out/compiler/set-01.out
@@ -1,113 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/set-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/set-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/set-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/set-01.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "fruit")))-       (Block-          (Content-             [ SoftBreak-             , BulletListItem [ Text "Apple" ]-             , SoftBreak-             , BulletListItem [ Text "Orange" ]-             , SoftBreak-             , Code-                 "test/typ/compiler/set-01.typ"-                 ( line 6 , column 4 )-                 (FuncCall-                    (Ident (Identifier "list"))-                    [ KeyValArg (Identifier "body-indent") (Literal (Numeric 20.0 Pt))-                    , BlockArg [ Text "Pear" ]-                    ])-             , ParBreak-             ])))-, ParBreak-, BulletListItem [ Text "Fruit" ]-, SoftBreak-, Code-    "test/typ/compiler/set-01.typ"-    ( line 10 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/compiler/set-01.typ"-              ( line 10 , column 4 )-              (Set-                 (Ident (Identifier "list"))-                 [ KeyValArg (Identifier "indent") (Literal (Numeric 10.0 Pt)) ])-          , SoftBreak-          , Code-              "test/typ/compiler/set-01.typ"-              ( line 11 , column 3 )-              (Ident (Identifier "fruit"))-          ]))-, SoftBreak-, BulletListItem-    [ Text "No"-    , Space-    , Text "more"-    , Space-    , Text "fruit"-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 list(children: (text(body: [Fruit]))), -                 text(body: [-]), -                 text(body: [-]), -                 list(children: (text(body: [Apple]), -                                 text(body: [Orange]))), -                 list(body-indent: 20.0pt, -                      children: (text(body: [Pear]))), -                 parbreak(), -                 text(body: [-]), -                 list(children: ({ text(body: [No more fruit]), -                                   parbreak() }), -                      indent: 10.0pt) })
− test/out/compiler/set-02.out
@@ -1,115 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/set-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/set-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/set-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compiler/set-02.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 4.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/compiler/set-02.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "style") (Literal (String "italic"))-       , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/set-02.typ"-    ( line 6 , column 2 )-    (Let-       (BasicBind (Just (Identifier "x")))-       (Block-          (Content-             [ Text "And"-             , Space-             , Text "the"-             , Space-             , Text "red"-             , Space-             , Code-                 "test/typ/compiler/set-02.typ"-                 ( line 6 , column 24 )-                 (FuncCall (Ident (Identifier "parbreak")) [])-             , Space-             , Text "lay"-             , Space-             , Text "silent!"-             ])))-, SoftBreak-, Code-    "test/typ/compiler/set-02.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , NormalArg (Ident (Identifier "x"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      fill: rgb(13%,61%,67%,100%), -                      style: "italic"), -                 text(body: [-], -                      fill: rgb(13%,61%,67%,100%), -                      style: "italic"), -                 text(body: { text(body: [And the red ], -                                   fill: rgb(13%,61%,67%,100%), -                                   style: "italic"), -                              parbreak(), -                              text(body: [ lay silent!], -                                   fill: rgb(13%,61%,67%,100%), -                                   style: "italic") }, -                      fill: rgb(100%,25%,21%,100%), -                      style: "italic"), -                 parbreak() })
− test/out/compiler/set-03.out
@@ -1,69 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/set-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/set-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/set-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/set-03.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ If-              [ ( Literal (Boolean True)-                , Block-                    (CodeBlock-                       [ Set-                           (Ident (Identifier "text"))-                           [ NormalArg (Ident (Identifier "blue")) ]-                       , Block (Content [ Text "Blue" , Space ])-                       ])-                )-              ]-          , Block (Content [ Text "Not" , Space , Text "blue" ])-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Blue ], -                      color: rgb(0%,45%,85%,100%)), -                 text(body: [Not blue]), -                 parbreak() })
− test/out/compiler/set-04.out
@@ -1,103 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/set-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/set-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/set-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/set-04.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "choice")))-       (Array-          [ Reg (Literal (String "monkey.svg"))-          , Reg (Literal (String "rhino.png"))-          , Reg (Literal (String "tiger.jpg"))-          ]))-, SoftBreak-, Code-    "test/typ/compiler/set-04.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "enum"))-       [ KeyValArg-           (Identifier "numbering")-           (FuncExpr-              [ NormalParam (Identifier "n") ]-              (Block-                 (CodeBlock-                    [ Let-                        (BasicBind (Just (Identifier "path")))-                        (Plus-                           (Literal (String "/"))-                           (FuncCall-                              (FieldAccess-                                 (Ident (Identifier "at")) (Ident (Identifier "choice")))-                              [ NormalArg (Minus (Ident (Identifier "n")) (Literal (Int 1))) ]))-                    , FuncCall-                        (Ident (Identifier "move"))-                        [ KeyValArg (Identifier "dy") (Negated (Literal (Numeric 0.15 Em)))-                        , NormalArg-                            (FuncCall-                               (Ident (Identifier "image"))-                               [ NormalArg (Ident (Identifier "path"))-                               , KeyValArg (Identifier "width") (Literal (Numeric 1.0 Em))-                               , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))-                               ])-                        ]-                    ])))-       ])-, ParBreak-, EnumListItem Nothing [ Text "Monkey" ]-, SoftBreak-, EnumListItem Nothing [ Text "Rhino" ]-, SoftBreak-, EnumListItem Nothing [ Text "Tiger" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 enum(children: (text(body: [Monkey]), -                                 text(body: [Rhino]), -                                 { text(body: [Tiger]), -                                   parbreak() }), -                      numbering: ) })
− test/out/compiler/set-05.out
@@ -1,88 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/set-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/set-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/set-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/set-05.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "ref")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals-                          (FieldAccess-                             (Ident (Identifier "target")) (Ident (Identifier "it")))-                          (Label "unknown")-                      , Set-                          (Ident (Identifier "text"))-                          [ NormalArg (Ident (Identifier "red")) ]-                      )-                    ]-                , Plus-                    (Literal (String "@"))-                    (FuncCall-                       (Ident (Identifier "str"))-                       [ NormalArg-                           (FieldAccess-                              (Ident (Identifier "target")) (Ident (Identifier "it")))-                       ])-                ]))))-, ParBreak-, Ref "hello" (Literal Auto)-, Space-, Text "from"-, Space-, Text "the"-, Space-, Ref "unknown" (Literal Auto)-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [@<hello>]), -                 text(body: [ from the ]), -                 text(body: [@<unknown>]), -                 parbreak() })
− test/out/compiler/set-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/set-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/shorthand-00.out
@@ -1,59 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/shorthand-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/shorthand-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/shorthand-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Text "The"-, Space-, Text "non"-, Text "-"-, Text "breaking"-, Nbsp-, Text "space"-, Space-, Text "does"-, Space-, Text "work"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-The non-breaking space does work.]), -                 parbreak() })
− test/out/compiler/shorthand-01.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/shorthand-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/shorthand-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/shorthand-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Comment-, Code-    "test/typ/compiler/shorthand-01.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font") (Literal (String "New Computer Modern"))-       ])-, SoftBreak-, Text "a"-, Space-, Text "b"-, Space-, HardBreak-, Text "a"-, Nbsp-, Text "b"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-a b ], -                      font: "New Computer Modern"), -                 linebreak(), -                 text(body: [a b], -                      font: "New Computer Modern"), -                 parbreak() })
− test/out/compiler/shorthand-02.out
@@ -1,60 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/shorthand-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/shorthand-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/shorthand-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, BulletListItem-    [ Text "En" , Space , Text "dash" , Text ":" , Space , EnDash ]-, SoftBreak-, BulletListItem-    [ Text "Em"-    , Space-    , Text "dash"-    , Text ":"-    , Space-    , EmDash-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 list(children: (text(body: [En dash: –]), -                                 { text(body: [Em dash: —]), -                                   parbreak() })) })
− test/out/compiler/shorthand-03.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/shorthand-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/shorthand-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/shorthand-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compiler/shorthand-03.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "Roboto")) ])-, SoftBreak-, Text "A"-, Ellipsis-, Space-, Text "vs"-, Space-, Code-    "test/typ/compiler/shorthand-03.typ"-    ( line 3 , column 10 )-    (Literal (String "A..."))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-A… vs ], -                      font: "Roboto"), -                 text(body: [A...], -                      font: "Roboto"), -                 parbreak() })
− test/out/compiler/show-bare-00.out
@@ -1,194 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-bare-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-bare-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-bare-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compiler/show-bare-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 130.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/compiler/show-bare-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 0.7 Em)) ])-, ParBreak-, Code-    "test/typ/compiler/show-bare-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center"))-       , BlockArg-           [ SoftBreak-           , Code-               "test/typ/compiler/show-bare-00.typ"-               ( line 6 , column 4 )-               (FuncCall-                  (Ident (Identifier "text"))-                  [ NormalArg (Literal (Numeric 1.3 Em))-                  , BlockArg-                      [ Strong-                          [ Text "Essay" , Space , Text "on" , Space , Text "typography" ]-                      ]-                  ])-           , Space-           , HardBreak-           , Text "T"-           , Text "."-           , Space-           , Text "Ypst"-           , ParBreak-           ]-       ])-, ParBreak-, Code-    "test/typ/compiler/show-bare-00.typ"-    ( line 10 , column 2 )-    (Show-       Nothing-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "columns")))-          [ NormalArg (Literal (Int 2)) ]))-, SoftBreak-, Text "Great"-, Space-, Text "typography"-, Space-, Text "is"-, Space-, Text "at"-, Space-, Text "the"-, Space-, Text "essence"-, Space-, Text "of"-, Space-, Text "great"-, Space-, Text "storytelling"-, Text "."-, Space-, Text "It"-, Space-, Text "is"-, Space-, Text "the"-, Space-, Text "medium"-, Space-, Text "that"-, SoftBreak-, Text "transports"-, Space-, Text "meaning"-, Space-, Text "from"-, Space-, Text "parchment"-, Space-, Text "to"-, Space-, Text "reader,"-, Space-, Text "the"-, Space-, Text "wave"-, Space-, Text "that"-, Space-, Text "sparks"-, Space-, Text "a"-, Space-, Text "flame"-, SoftBreak-, Text "in"-, Space-, Text "booklovers"-, Space-, Text "and"-, Space-, Text "the"-, Space-, Text "great"-, Space-, Text "fulfiller"-, Space-, Text "of"-, Space-, Text "human"-, Space-, Text "need"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 align(alignment: center, -                       body: { text(body: [-], -                                    size: 0.7em), -                               text(body: strong(body: text(body: [Essay on typography], -                                                            size: 0.7em)), -                                    size: 1.3em), -                               text(body: [ ], -                                    size: 0.7em), -                               linebreak(), -                               text(body: [T. Ypst], -                                    size: 0.7em), -                               parbreak() }), -                 parbreak(), -                 columns(body: { text(body: [-Great typography is at the essence of great storytelling. It is the medium that-transports meaning from parchment to reader, the wave that sparks a flame-in booklovers and the great fulfiller of human need.], -                                      size: 0.7em), -                                 parbreak() }, -                         count: 2) })
− test/out/compiler/show-bare-01.out
@@ -1,84 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-bare-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-bare-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-bare-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Space-, Code-    "test/typ/compiler/show-bare-01.typ"-    ( line 3 , column 4 )-    (Block-       (Content-          [ Emph-              [ Text "B"-              , Space-              , Code-                  "test/typ/compiler/show-bare-01.typ"-                  ( line 3 , column 9 )-                  (Show-                     Nothing-                     (FuncExpr-                        [ NormalParam (Identifier "c") ]-                        (Block-                           (Content-                              [ Strong-                                  [ Code-                                      "test/typ/compiler/show-bare-01.typ"-                                      ( line 3 , column 23 )-                                      (Ident (Identifier "c"))-                                  ]-                              ]))))-              , Space-              , Text "C"-              ]-          ]))-, Space-, Text "D"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A ]), -                 emph(body: { text(body: [B ]), -                              strong(body: text(body: [ C])) }), -                 text(body: [ D]), -                 parbreak() })
− test/out/compiler/show-bare-02.out
@@ -1,77 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-bare-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-bare-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-bare-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-bare-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-       , KeyValArg (Identifier "size") (Literal (Numeric 1.5 Em))-       ])-, SoftBreak-, Code-    "test/typ/compiler/show-bare-02.typ"-    ( line 4 , column 2 )-    (Show-       Nothing-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "text")))-          [ KeyValArg (Identifier "fill") (Ident (Identifier "red")) ]))-, SoftBreak-, Text "Forest"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      fill: rgb(13%,61%,67%,100%), -                      size: 1.5em), -                 text(body: { text(body: [-Forest], -                                   fill: rgb(13%,61%,67%,100%), -                                   size: 1.5em), -                              parbreak() }, -                      fill: rgb(100%,25%,21%,100%)) })
− test/out/compiler/show-bare-03.out
@@ -1,53 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-bare-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-bare-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-bare-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compiler/show-bare-03.typ"-    ( line 2 , column 2 )-    (Show Nothing (Block (Content [ Text "Shown" ])))-, SoftBreak-, Text "Ignored"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Shown]) })
− test/out/compiler/show-bare-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/show-bare-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/show-bare-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/show-node-00.out
@@ -1,83 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-node-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-node-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-node-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-node-00.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "list")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Plus-             (Plus-                (Literal (String "("))-                (FuncCall-                   (FieldAccess-                      (Ident (Identifier "join"))-                      (FuncCall-                         (FieldAccess-                            (Ident (Identifier "map"))-                            (FieldAccess-                               (Ident (Identifier "children")) (Ident (Identifier "it"))))-                         [ NormalArg-                             (FuncExpr-                                [ NormalParam (Identifier "v") ]-                                (FieldAccess (Ident (Identifier "body")) (Ident (Identifier "v"))))-                         ]))-                   [ NormalArg (Literal (String ", ")) ]))-             (Literal (String ")")))))-, ParBreak-, BulletListItem-    [ Text "A"-    , SoftBreak-    , BulletListItem [ Text "B" ]-    , SoftBreak-    , BulletListItem [ Text "C" ]-    ]-, SoftBreak-, BulletListItem [ Text "D" ]-, SoftBreak-, BulletListItem [ Text "E" , ParBreak ]-]-"test/typ/compiler/show-node-00.typ" (line 3, column 2):-unexpected end of input-Content does not have a method "body" or FieldAccess requires a dictionary
− test/out/compiler/show-node-01.out
@@ -1,81 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-node-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-node-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-node-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-node-01.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "heading")))-       (Block (Content [ Text "B" ])))-, SoftBreak-, Code-    "test/typ/compiler/show-node-01.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Ident (Identifier "heading")))-       (Set-          (Ident (Identifier "text"))-          [ KeyValArg (Identifier "size") (Literal (Numeric 10.0 Pt))-          , KeyValArg (Identifier "weight") (Literal (Int 400))-          ]))-, SoftBreak-, Text "A"-, Space-, Code-    "test/typ/compiler/show-node-01.typ"-    ( line 5 , column 4 )-    (Block (Content [ Heading 1 [ Text "Heading" ] ]))-, Space-, Text "C"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-A ]), -                 heading(body: text(body: [Heading]), -                         level: 1), -                 text(body: [ C]), -                 parbreak() })
− test/out/compiler/show-node-02.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-node-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-node-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-node-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-node-02.typ"-    ( line 3 , column 2 )-    (Show (Just (Ident (Identifier "heading"))) (Literal None))-, ParBreak-, Text "Where"-, Space-, Text "is"-, SoftBreak-, Heading-    1-    [ Text "There"-    , Space-    , Text "are"-    , Space-    , Text "no"-    , Space-    , Text "headings"-    , Space-    , Text "around"-    , Space-    , Text "here!"-    ]-, Text "my"-, Space-, Text "heading?"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Where is-]), -                 text(body: [my heading?]), -                 parbreak() })
− test/out/compiler/show-node-03.out
@@ -1,159 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-node-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-node-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-node-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-node-03.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "heading")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (FuncCall-             (Ident (Identifier "block"))-             [ NormalArg-                 (Block-                    (CodeBlock-                       [ Set-                           (Ident (Identifier "text"))-                           [ NormalArg (Literal (Numeric 10.0 Pt)) ]-                       , FuncCall-                           (Ident (Identifier "box"))-                           [ NormalArg-                               (FuncCall-                                  (Ident (Identifier "move"))-                                  [ KeyValArg (Identifier "dy") (Negated (Literal (Numeric 1.0 Pt)))-                                  , BlockArg [ Text "\128214" ]-                                  ])-                           ]-                       , FuncCall-                           (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 5.0 Pt)) ]-                       , If-                           [ ( Equals-                                 (FieldAccess-                                    (Ident (Identifier "level")) (Ident (Identifier "it")))-                                 (Literal (Int 1))-                             , Block-                                 (CodeBlock-                                    [ FuncCall-                                        (Ident (Identifier "underline"))-                                        [ NormalArg-                                            (FuncCall-                                               (Ident (Identifier "text"))-                                               [ NormalArg (Literal (Numeric 1.25 Em))-                                               , NormalArg (Ident (Identifier "blue"))-                                               , NormalArg-                                                   (FieldAccess-                                                      (Ident (Identifier "body"))-                                                      (Ident (Identifier "it")))-                                               ])-                                        ]-                                    ])-                             )-                           , ( Literal (Boolean True)-                             , Block-                                 (CodeBlock-                                    [ FuncCall-                                        (Ident (Identifier "text"))-                                        [ NormalArg (Ident (Identifier "red"))-                                        , NormalArg-                                            (FieldAccess-                                               (Ident (Identifier "body"))-                                               (Ident (Identifier "it")))-                                        ]-                                    ])-                             )-                           ]-                       ]))-             ])))-, ParBreak-, Heading 1 [ Text "Task" , Space , Text "1" ]-, Text "Some"-, Space-, Text "text"-, Text "."-, ParBreak-, Heading 2 [ Text "Subtask" ]-, Text "Some"-, Space-, Text "more"-, Space-, Text "text"-, Text "."-, ParBreak-, Heading 1 [ Text "Task" , Space , Text "2" ]-, Text "Another"-, Space-, Text "text"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 block(body: { box(body: move(body: text(body: [📖], -                                                         size: 10.0pt), -                                              dy: -1.0pt)), -                               h(amount: 5.0pt), -                               underline(body: text(body: text(body: [Task 1]), -                                                    color: rgb(0%,45%,85%,100%), -                                                    size: 1.25em)) }), -                 text(body: [Some text.]), -                 parbreak(), -                 block(body: { box(body: move(body: text(body: [📖], -                                                         size: 10.0pt), -                                              dy: -1.0pt)), -                               h(amount: 5.0pt), -                               text(body: text(body: [Subtask]), -                                    color: rgb(100%,25%,21%,100%), -                                    size: 10.0pt) }), -                 text(body: [Some more text.]), -                 parbreak(), -                 block(body: { box(body: move(body: text(body: [📖], -                                                         size: 10.0pt), -                                              dy: -1.0pt)), -                               h(amount: 5.0pt), -                               underline(body: text(body: text(body: [Task 2]), -                                                    color: rgb(0%,45%,85%,100%), -                                                    size: 1.25em)) }), -                 text(body: [Another text.]), -                 parbreak() })
− test/out/compiler/show-node-04.out
@@ -1,67 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-node-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-node-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-node-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-node-04.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "heading")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (CodeBlock-                [ Set-                    (Ident (Identifier "text"))-                    [ NormalArg (Ident (Identifier "red")) ]-                , Show-                    (Just (Literal (String "ding")))-                    (Block (Content [ Text "\128718" ]))-                , FieldAccess (Ident (Identifier "body")) (Ident (Identifier "it"))-                ]))))-, ParBreak-, Heading 1 [ Text "Heading" ]-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Heading]) })
− test/out/compiler/show-node-05.out
@@ -1,85 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-node-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-node-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-node-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-node-05.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "world")))-              (Block (Content [ Space , Text "World" , Space ]))-          , Show (Just (Literal (String "W"))) (Ident (Identifier "strong"))-          , Ident (Identifier "world")-          , Block-              (CodeBlock-                 [ Set-                     (Ident (Identifier "text"))-                     [ NormalArg (Ident (Identifier "blue")) ]-                 , Show-                     Nothing-                     (FuncExpr-                        [ NormalParam (Identifier "it") ]-                        (Block-                           (CodeBlock-                              [ Show (Just (Literal (String "o"))) (Literal (String "\216"))-                              , Ident (Identifier "it")-                              ])))-                 , Ident (Identifier "world")-                 ])-          , Ident (Identifier "world")-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: { [ ], -                              strong(body: [W]), -                              [orld ] }), -                 parbreak(), -                 text(body: { [ ], -                              strong(body: [W]), -                              [orld ] }), -                 text(body: { [ ], -                              strong(body: [W]), -                              [orld ] }) })
− test/out/compiler/show-node-06.out
@@ -1,56 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-node-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-node-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-node-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compiler/show-node-06.typ"-    ( line 2 , column 2 )-    (Show-       (Just (Ident (Identifier "heading")))-       (Block (Content [ Text "1234" ])))-, SoftBreak-, Heading 1 [ Text "Heading" ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [1234]) })
− test/out/compiler/show-node-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/show-node-08.out
@@ -1,55 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-node-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-node-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-node-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compiler/show-node-08.typ"-    ( line 2 , column 2 )-    (Show (Just (Ident (Identifier "text"))) (Literal None))-, SoftBreak-, Text "Hey"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Hey]), -                 parbreak() })
− test/out/compiler/show-node-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/show-node-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/show-node-11.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/show-node-12.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/show-recursive-00.out
@@ -1,59 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-recursive-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-recursive-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-recursive-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-recursive-00.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "heading")))-       (FuncExpr-          [ NormalParam (Identifier "it") ] (Ident (Identifier "it"))))-, SoftBreak-, Heading 1 [ Text "Heading" ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 heading(body: text(body: [Heading]), -                         level: 1) })
− test/out/compiler/show-recursive-01.out
@@ -1,86 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-recursive-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-recursive-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-recursive-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-recursive-01.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "list")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "scale")))-          [ KeyValArg (Identifier "origin") (Ident (Identifier "left"))-          , KeyValArg (Identifier "x") (Literal (Numeric 80.0 Percent))-          ]))-, SoftBreak-, Code-    "test/typ/compiler/show-recursive-01.typ"-    ( line 4 , column 2 )-    (Show (Just (Ident (Identifier "heading"))) (Block (Content [])))-, SoftBreak-, Code-    "test/typ/compiler/show-recursive-01.typ"-    ( line 5 , column 2 )-    (Show (Just (Ident (Identifier "enum"))) (Block (Content [])))-, SoftBreak-, BulletListItem [ Text "Actual" ]-, SoftBreak-, BulletListItem [ Text "Tight" ]-, SoftBreak-, BulletListItem [ Text "List" ]-, SoftBreak-, Heading 1 [ Text "Nope" ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 scale(body: list(children: (text(body: [Actual]), -                                             text(body: [Tight]), -                                             text(body: [List]))), -                       origin: left, -                       x: 80%) })
− test/out/compiler/show-recursive-02.out
@@ -1,123 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-recursive-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-recursive-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-recursive-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-recursive-02.typ"-    ( line 3 , column 2 )-    (LetFunc-       (Identifier "starwars")-       [ NormalParam (Identifier "body") ]-       (Block-          (CodeBlock-             [ Show-                 (Just (Ident (Identifier "list")))-                 (FuncExpr-                    [ NormalParam (Identifier "it") ]-                    (FuncCall-                       (Ident (Identifier "block"))-                       [ NormalArg-                           (Block-                              (CodeBlock-                                 [ FuncCall-                                     (Ident (Identifier "stack"))-                                     [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-                                     , NormalArg-                                         (FuncCall-                                            (Ident (Identifier "text"))-                                            [ NormalArg (Ident (Identifier "red"))-                                            , NormalArg (Ident (Identifier "it"))-                                            ])-                                     , NormalArg (Literal (Numeric 1.0 Fr))-                                     , NormalArg-                                         (FuncCall-                                            (Ident (Identifier "scale"))-                                            [ KeyValArg-                                                (Identifier "x")-                                                (Negated (Literal (Numeric 100.0 Percent)))-                                            , NormalArg-                                                (FuncCall-                                                   (Ident (Identifier "text"))-                                                   [ NormalArg (Ident (Identifier "blue"))-                                                   , NormalArg (Ident (Identifier "it"))-                                                   ])-                                            ])-                                     ]-                                 ]))-                       ]))-             , Ident (Identifier "body")-             ])))-, ParBreak-, BulletListItem-    [ Text "Normal" , Space , Text "list" , SoftBreak ]-, SoftBreak-, Code-    "test/typ/compiler/show-recursive-02.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "starwars"))-       [ BlockArg-           [ SoftBreak-           , BulletListItem [ Text "Star" ]-           , SoftBreak-           , BulletListItem [ Text "Wars" ]-           , SoftBreak-           , BulletListItem [ Text "List" , ParBreak ]-           ]-       ])-, ParBreak-, BulletListItem [ Text "Normal" , Space , Text "list" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 list(children: (text(body: [Normal list-]))), -                 text(body: [-]), -                 list(children: (text(body: [Star]), -                                 text(body: [Wars]), -                                 { text(body: [List]), -                                   parbreak() })), -                 parbreak(), -                 list(children: ({ text(body: [Normal list]), -                                   parbreak() })) })
− test/out/compiler/show-recursive-03.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-recursive-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-recursive-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-recursive-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-recursive-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/compiler/show-recursive-03.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Ident (Identifier "list")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "rect")))-          [ KeyValArg (Identifier "stroke") (Ident (Identifier "blue")) ]))-, SoftBreak-, Code-    "test/typ/compiler/show-recursive-03.typ"-    ( line 5 , column 2 )-    (Show-       (Just (Ident (Identifier "list")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "rect")))-          [ KeyValArg (Identifier "stroke") (Ident (Identifier "red")) ]))-, SoftBreak-, Code-    "test/typ/compiler/show-recursive-03.typ"-    ( line 6 , column 2 )-    (Show-       (Just (Ident (Identifier "list"))) (Ident (Identifier "block")))-, ParBreak-, BulletListItem-    [ Text "List"-    , SoftBreak-    , BulletListItem [ Text "Nested" ]-    , SoftBreak-    , BulletListItem [ Text "List" ]-    ]-, SoftBreak-, BulletListItem [ Text "Recursive!" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 block(body: list(children: ({ text(body: [List-]), -                                               block(body: block(body: list(children: (text(body: [Nested]), -                                                                                       text(body: [List]))))) }, -                                             { text(body: [Recursive!]), -                                               parbreak() }))) })
− test/out/compiler/show-selector-00.out
@@ -1,212 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-selector-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-selector-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-selector-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-selector-00.typ"-    ( line 3 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "raw")))-             [ KeyValArg (Identifier "block") (Literal (Boolean False)) ]))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "box")))-          [ KeyValArg (Identifier "radius") (Literal (Numeric 2.0 Pt))-          , KeyValArg-              (Identifier "outset")-              (Dict-                 [ Reg ( Ident (Identifier "y") , Literal (Numeric 2.5 Pt) ) ])-          , KeyValArg-              (Identifier "inset")-              (Dict-                 [ Reg ( Ident (Identifier "x") , Literal (Numeric 3.0 Pt) )-                 , Reg ( Ident (Identifier "y") , Literal (Numeric 0.0 Pt) )-                 ])-          , KeyValArg-              (Identifier "fill")-              (FuncCall-                 (Ident (Identifier "luma")) [ NormalArg (Literal (Int 230)) ])-          ]))-, ParBreak-, Comment-, Code-    "test/typ/compiler/show-selector-00.typ"-    ( line 11 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "raw")))-             [ KeyValArg (Identifier "block") (Literal (Boolean True)) ]))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "block")))-          [ KeyValArg-              (Identifier "outset") (Negated (Literal (Numeric 3.0 Pt)))-          , KeyValArg (Identifier "inset") (Literal (Numeric 11.0 Pt))-          , KeyValArg-              (Identifier "fill")-              (FuncCall-                 (Ident (Identifier "luma")) [ NormalArg (Literal (Int 230)) ])-          , KeyValArg-              (Identifier "stroke")-              (Dict-                 [ Reg-                     ( Ident (Identifier "left")-                     , Plus-                         (Literal (Numeric 1.5 Pt))-                         (FuncCall-                            (Ident (Identifier "luma")) [ NormalArg (Literal (Int 180)) ])-                     )-                 ])-          ]))-, ParBreak-, Code-    "test/typ/compiler/show-selector-00.typ"-    ( line 18 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg-           (Identifier "margin")-           (Dict-              [ Reg ( Ident (Identifier "top") , Literal (Numeric 12.0 Pt) ) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/show-selector-00.typ"-    ( line 19 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, ParBreak-, Text "This"-, Space-, Text "code"-, Space-, Text "tests"-, Space-, RawInline "code"-, SoftBreak-, Text "with"-, Space-, Text "selectors"-, Space-, Text "and"-, Space-, Text "justification"-, Text "."-, ParBreak-, RawBlock "rs" "code!(\"it\");\n"-, ParBreak-, Text "You"-, Space-, Text "can"-, Space-, Text "use"-, Space-, Text "the"-, Space-, RawBlock "rs" "*const T"-, Space-, Text "pointer"-, Space-, Text "or"-, SoftBreak-, Text "the"-, Space-, RawBlock "rs" "&mut T"-, Space-, Text "reference"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 parbreak(), -                 text(body: [-]), -                 parbreak(), -                 text(body: [This code tests ]), -                 box(body: raw(block: false, -                               lang: none, -                               text: "code"), -                     fill: luma(23000%), -                     inset: (x: 3.0pt, y: 0.0pt), -                     outset: (y: 2.5pt), -                     radius: 2.0pt), -                 text(body: [-with selectors and justification.]), -                 parbreak(), -                 block(body: raw(block: true, -                                 lang: "rs", -                                 text: "code!(\"it\");\n"), -                       fill: luma(23000%), -                       inset: 11.0pt, -                       outset: -3.0pt, -                       stroke: (left: (thickness: 1.5pt,-                                       color: luma(18000%)))), -                 parbreak(), -                 text(body: [You can use the ]), -                 block(body: raw(block: true, -                                 lang: "rs", -                                 text: "*const T"), -                       fill: luma(23000%), -                       inset: 11.0pt, -                       outset: -3.0pt, -                       stroke: (left: (thickness: 1.5pt,-                                       color: luma(18000%)))), -                 text(body: [ pointer or-the ]), -                 block(body: raw(block: true, -                                 lang: "rs", -                                 text: "&mut T"), -                       fill: luma(23000%), -                       inset: 11.0pt, -                       outset: -3.0pt, -                       stroke: (left: (thickness: 1.5pt,-                                       color: luma(18000%)))), -                 text(body: [ reference.]), -                 parbreak() })
− test/out/compiler/show-selector-01.out
@@ -1,95 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-selector-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-selector-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-selector-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compiler/show-selector-01.typ"-    ( line 2 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "heading")))-             [ KeyValArg (Identifier "level") (Literal (Int 1)) ]))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Ident (Identifier "red")) ]))-, SoftBreak-, Code-    "test/typ/compiler/show-selector-01.typ"-    ( line 3 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "heading")))-             [ KeyValArg (Identifier "level") (Literal (Int 2)) ]))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Ident (Identifier "blue")) ]))-, SoftBreak-, Code-    "test/typ/compiler/show-selector-01.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Ident (Identifier "heading")))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Ident (Identifier "green")) ]))-, SoftBreak-, Heading 1 [ Text "Red" ]-, Heading 2 [ Text "Blue" ]-, Heading 3 [ Text "Green" ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 heading(body: text(body: [Red]), -                         level: 1), -                 heading(body: text(body: [Blue]), -                         level: 2), -                 heading(body: text(body: [Green]), -                         level: 3) })
− test/out/compiler/show-selector-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/show-text-00.out
@@ -1,81 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-text-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-text-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-text-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-text-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "Roboto")) ])-, SoftBreak-, Code-    "test/typ/compiler/show-text-00.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Literal (String "Der Spiegel")))-       (Ident (Identifier "smallcaps")))-, SoftBreak-, Text "Die"-, Space-, Text "Zeitung"-, Space-, Text "Der"-, Space-, Text "Spiegel"-, Space-, Text "existiert"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      font: "Roboto"), -                 text(body: [-Die Zeitung ], -                      font: "Roboto"), -                 smallcaps(body: [Der Spiegel]), -                 text(body: [ existiert.], -                      font: "Roboto"), -                 parbreak() })
− test/out/compiler/show-text-01.out
@@ -1,156 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-text-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-text-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-text-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-text-01.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Literal (String "TeX")))-       (Block-          (Content-             [ Text "T"-             , Code-                 "test/typ/compiler/show-text-01.typ"-                 ( line 3 , column 17 )-                 (FuncCall-                    (Ident (Identifier "h"))-                    [ NormalArg (Negated (Literal (Numeric 0.145 Em))) ])-             , Code-                 "test/typ/compiler/show-text-01.typ"-                 ( line 3 , column 29 )-                 (FuncCall-                    (Ident (Identifier "box"))-                    [ NormalArg-                        (FuncCall-                           (Ident (Identifier "move"))-                           [ KeyValArg (Identifier "dy") (Literal (Numeric 0.233 Em))-                           , BlockArg [ Text "E" ]-                           ])-                    ])-             , Code-                 "test/typ/compiler/show-text-01.typ"-                 ( line 3 , column 55 )-                 (FuncCall-                    (Ident (Identifier "h"))-                    [ NormalArg (Negated (Literal (Numeric 0.135 Em))) ])-             , Text "X"-             ])))-, SoftBreak-, Code-    "test/typ/compiler/show-text-01.typ"-    ( line 4 , column 2 )-    (Show-       (Just-          (FuncCall-             (Ident (Identifier "regex"))-             [ NormalArg (Literal (String "(Lua)?(La)?TeX")) ]))-       (FuncExpr-          [ NormalParam (Identifier "name") ]-          (FuncCall-             (Ident (Identifier "box"))-             [ NormalArg-                 (FuncCall-                    (Ident (Identifier "text"))-                    [ KeyValArg-                        (Identifier "font") (Literal (String "New Computer Modern"))-                    , BlockArg-                        [ Code-                            "test/typ/compiler/show-text-01.typ"-                            ( line 4 , column 79 )-                            (Ident (Identifier "name"))-                        ]-                    ])-             ])))-, ParBreak-, Text "TeX,"-, Space-, Text "LaTeX,"-, Space-, Text "LuaTeX"-, Space-, Text "and"-, Space-, Text "LuaLaTeX!"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 box(body: text(body: { text(body: [T]), -                                        h(amount: -0.145em), -                                        box(body: move(body: text(body: [E]), -                                                       dy: 0.233em)), -                                        h(amount: -0.135em), -                                        text(body: [X]) }, -                                font: "New Computer Modern")), -                 text(body: [, ]), -                 box(body: text(body: { text(body: [La]), -                                        text(body: [T]), -                                        h(amount: -0.145em), -                                        box(body: move(body: text(body: [E]), -                                                       dy: 0.233em)), -                                        h(amount: -0.135em), -                                        text(body: [X]) }, -                                font: "New Computer Modern")), -                 text(body: [, ]), -                 box(body: text(body: { text(body: [Lua]), -                                        text(body: [T]), -                                        h(amount: -0.145em), -                                        box(body: move(body: text(body: [E]), -                                                       dy: 0.233em)), -                                        h(amount: -0.135em), -                                        text(body: [X]) }, -                                font: "New Computer Modern")), -                 text(body: [ and ]), -                 box(body: text(body: { text(body: [LuaLa]), -                                        text(body: [T]), -                                        h(amount: -0.145em), -                                        box(body: move(body: text(body: [E]), -                                                       dy: 0.233em)), -                                        h(amount: -0.135em), -                                        text(body: [X]) }, -                                font: "New Computer Modern")), -                 text(body: [!]), -                 parbreak() })
− test/out/compiler/show-text-02.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-text-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-text-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-text-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-text-02.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Literal (String "A"))) (Block (Content [ Text "BB" ])))-, SoftBreak-, Code-    "test/typ/compiler/show-text-02.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Literal (String "B"))) (Block (Content [ Text "CC" ])))-, SoftBreak-, Text "AA"-, Space-, Text "("-, Text "8)"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [BB]), -                 text(body: [BB]), -                 text(body: [ (8)]), -                 parbreak() })
− test/out/compiler/show-text-03.out
@@ -1,80 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-text-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-text-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-text-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-text-03.typ"-    ( line 3 , column 2 )-    (Show-       (Just-          (FuncCall-             (Ident (Identifier "regex"))-             [ NormalArg (Literal (String "(?i)\\bworld\\b")) ]))-       (Block (Content [ Text "\127757" ])))-, ParBreak-, Text "Treeworld,"-, Space-, Text "the"-, Space-, Text "World"-, Space-, Text "of"-, Space-, Text "worlds,"-, Space-, Text "is"-, Space-, Text "a"-, Space-, Text "world"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Treeworld, the ]), -                 text(body: [🌍]), -                 text(body: [ of worlds, is a ]), -                 text(body: [🌍]), -                 text(body: [.]), -                 parbreak() })
− test/out/compiler/show-text-04.out
@@ -1,157 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-text-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-text-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-text-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-text-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Code-    "test/typ/compiler/show-text-04.typ"-    ( line 4 , column 2 )-    (Show-       (Just-          (FuncCall-             (Ident (Identifier "regex"))-             [ NormalArg (Literal (String "\\S")) ]))-       (FuncExpr-          [ NormalParam (Identifier "letter") ]-          (FuncCall-             (Ident (Identifier "box"))-             [ KeyValArg (Identifier "stroke") (Literal (Numeric 1.0 Pt))-             , KeyValArg (Identifier "inset") (Literal (Numeric 2.0 Pt))-             , NormalArg-                 (FuncCall-                    (Ident (Identifier "upper"))-                    [ NormalArg (Ident (Identifier "letter")) ])-             ])))-, SoftBreak-, Code-    "test/typ/compiler/show-text-04.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 5)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 box(body: upper(text: [L]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [o]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [r]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [e]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [m]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 text(body: [ ]), -                 box(body: upper(text: [i]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [p]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [s]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [u]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [m]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 text(body: [ ]), -                 box(body: upper(text: [d]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [o]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [l]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [o]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [r]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 text(body: [ ]), -                 box(body: upper(text: [s]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [i]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [t]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 text(body: [ ]), -                 box(body: upper(text: [a]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [m]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [e]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [t]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 box(body: upper(text: [,]), -                     inset: 2.0pt, -                     stroke: 1.0pt), -                 parbreak() })
− test/out/compiler/show-text-05.out
@@ -1,104 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-text-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-text-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-text-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-text-05.typ"-    ( line 3 , column 2 )-    (Show-       (Just-          (FuncCall-             (Ident (Identifier "regex"))-             [ NormalArg (Literal (String "(?i)rust")) ]))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (Content-                [ Code-                    "test/typ/compiler/show-text-05.typ"-                    ( line 3 , column 34 )-                    (Ident (Identifier "it"))-                , Space-                , Text "("-                , Text "\128640)"-                ]))))-, SoftBreak-, Text "Rust"-, Space-, Text "is"-, Space-, Text "memory"-, Text "-"-, Text "safe"-, Space-, Text "and"-, Space-, Text "blazingly"-, Space-, Text "fast"-, Text "."-, Space-, Text "Let"-, Quote '\''-, Text "s"-, Space-, Text "rewrite"-, Space-, Text "everything"-, Space-, Text "in"-, Space-, Text "rust"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [Rust]), -                 text(body: [ (🚀)]), -                 text(body: [ is memory-safe and blazingly fast. Let’s rewrite everything in ]), -                 text(body: [rust]), -                 text(body: [ (🚀)]), -                 text(body: [.]), -                 parbreak() })
− test/out/compiler/show-text-06.out
@@ -1,79 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-text-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-text-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-text-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-text-06.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Literal (String "hello")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (FuncCall-             (FieldAccess-                (Ident (Identifier "join"))-                (FuncCall-                   (FieldAccess-                      (Ident (Identifier "map"))-                      (FuncCall-                         (FieldAccess-                            (Ident (Identifier "split"))-                            (FieldAccess-                               (Ident (Identifier "text")) (Ident (Identifier "it"))))-                         [ NormalArg (Literal (String "")) ]))-                   [ NormalArg (Ident (Identifier "upper")) ]))-             [ NormalArg (Literal (String "|")) ])))-, SoftBreak-, Text "Oh,"-, Space-, Text "hello"-, Space-, Text "there!"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Oh, ]), -                 text(body: [|H|E|L|L|O|]), -                 text(body: [ there!]), -                 parbreak() })
− test/out/compiler/show-text-07.out
@@ -1,85 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-text-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-text-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-text-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/show-text-07.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "list")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (Content-                [ SoftBreak-                , Code-                    "test/typ/compiler/show-text-07.typ"-                    ( line 4 , column 4 )-                    (Show-                       (Just (Literal (String "World")))-                       (Block (Content [ Text "\127758" ])))-                , SoftBreak-                , Code-                    "test/typ/compiler/show-text-07.typ"-                    ( line 5 , column 4 )-                    (Ident (Identifier "it"))-                , ParBreak-                ]))))-, ParBreak-, Text "World"-, SoftBreak-, BulletListItem [ Text "World" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [World-]), -                 text(body: [-]), -                 text(body: [-]), -                 list(children: ({ text(body: { [], -                                                text(body: [🌎]), -                                                [] }), -                                   parbreak() })), -                 parbreak() })
− test/out/compiler/show-text-08.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/show-text-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/show-text-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/show-text-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/show-text-08.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Literal (String "GRAPH")))-       (FuncCall-          (Ident (Identifier "image"))-          [ NormalArg (Literal (String "/assets/files/graph.png")) ]))-, ParBreak-, Text "The"-, Space-, Text "GRAPH"-, Space-, Text "has"-, Space-, Text "nodes"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [The ]), -                 image(path: "/assets/files/graph.png"), -                 text(body: [ has nodes.]), -                 parbreak() })
− test/out/compiler/spread-00.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/spread-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/spread-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/spread-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/spread-00.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ LetFunc-              (Identifier "f")-              [ DefaultParam (Identifier "style") (Literal (String "normal"))-              , DefaultParam (Identifier "weight") (Literal (String "regular"))-              ]-              (Block-                 (CodeBlock-                    [ Plus-                        (Plus-                           (Plus-                              (Plus (Literal (String "(style: ")) (Ident (Identifier "style")))-                              (Literal (String ", weight: ")))-                           (Ident (Identifier "weight")))-                        (Literal (String ")"))-                    ]))-          , LetFunc-              (Identifier "myf")-              [ SinkParam (Just (Identifier "args")) ]-              (FuncCall-                 (Ident (Identifier "f"))-                 [ KeyValArg (Identifier "weight") (Literal (String "bold"))-                 , SpreadArg (Ident (Identifier "args"))-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (FuncCall (Ident (Identifier "myf")) [])-              , NormalArg (Literal (String "(style: normal, weight: bold)"))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "myf"))-                     [ KeyValArg (Identifier "weight") (Literal (String "black")) ])-              , NormalArg (Literal (String "(style: normal, weight: black)"))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "myf"))-                     [ KeyValArg (Identifier "style") (Literal (String "italic")) ])-              , NormalArg (Literal (String "(style: italic, weight: bold)"))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/spread-01.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/spread-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/spread-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/spread-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/spread-01.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ LetFunc-              (Identifier "f")-              [ NormalParam (Identifier "b")-              , DefaultParam (Identifier "c") (Literal (String "!"))-              ]-              (Plus (Ident (Identifier "b")) (Ident (Identifier "c")))-          , LetFunc-              (Identifier "g")-              [ NormalParam (Identifier "a")-              , SinkParam (Just (Identifier "sink"))-              ]-              (Plus-                 (Ident (Identifier "a"))-                 (FuncCall-                    (Ident (Identifier "f"))-                    [ SpreadArg (Ident (Identifier "sink")) ]))-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "g"))-                     [ NormalArg (Literal (String "a"))-                     , NormalArg (Literal (String "b"))-                     , KeyValArg (Identifier "c") (Literal (String "c"))-                     ])-              , NormalArg (Literal (String "abc"))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/spread-02.out
@@ -1,84 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/spread-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/spread-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/spread-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/spread-02.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ LetFunc-              (Identifier "save")-              [ SinkParam (Just (Identifier "args")) ]-              (Block-                 (CodeBlock-                    [ FuncCall-                        (Ident (Identifier "test"))-                        [ NormalArg-                            (FuncCall-                               (Ident (Identifier "type"))-                               [ NormalArg (Ident (Identifier "args")) ])-                        , NormalArg (Literal (String "arguments"))-                        ]-                    , FuncCall-                        (Ident (Identifier "test"))-                        [ NormalArg-                            (FuncCall-                               (Ident (Identifier "repr"))-                               [ NormalArg (Ident (Identifier "args")) ])-                        , NormalArg (Literal (String "(three: true, 1, 2)"))-                        ]-                    ]))-          , FuncCall-              (Ident (Identifier "save"))-              [ NormalArg (Literal (Int 1))-              , NormalArg (Literal (Int 2))-              , KeyValArg (Identifier "three") (Literal (Boolean True))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/spread-03.out
@@ -1,131 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/spread-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/spread-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/spread-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/spread-03.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "more")))-              (Array-                 [ Reg (Literal (Int 3))-                 , Reg (Negated (Literal (Int 3)))-                 , Reg (Literal (Int 6))-                 , Reg (Literal (Int 10))-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "min")) (Ident (Identifier "calc")))-                     [ NormalArg (Literal (Int 1))-                     , NormalArg (Literal (Int 2))-                     , SpreadArg (Ident (Identifier "more"))-                     ])-              , NormalArg (Negated (Literal (Int 3)))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "max")) (Ident (Identifier "calc")))-                     [ SpreadArg (Ident (Identifier "more"))-                     , NormalArg (Literal (Int 9))-                     ])-              , NormalArg (Literal (Int 10))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "max")) (Ident (Identifier "calc")))-                     [ SpreadArg (Ident (Identifier "more"))-                     , NormalArg (Literal (Int 11))-                     ])-              , NormalArg (Literal (Int 11))-              ]-          ]))-, ParBreak-, Code-    "test/typ/compiler/spread-03.typ"-    ( line 10 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "more")))-              (Dict-                 [ Reg ( Ident (Identifier "c") , Literal (Int 3) )-                 , Reg ( Ident (Identifier "d") , Literal (Int 4) )-                 ])-          , LetFunc-              (Identifier "tostr")-              [ SinkParam (Just (Identifier "args")) ]-              (FuncCall-                 (Ident (Identifier "repr"))-                 [ NormalArg (Ident (Identifier "args")) ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "tostr"))-                     [ KeyValArg (Identifier "a") (Literal (Int 1))-                     , SpreadArg (Ident (Identifier "more"))-                     , KeyValArg (Identifier "b") (Literal (Int 2))-                     ])-              , NormalArg (Literal (String "(a: 1, c: 3, d: 4, b: 2)"))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/spread-04.out
@@ -1,84 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/spread-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/spread-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/spread-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/spread-04.typ"-    ( line 3 , column 2 )-    (LetFunc (Identifier "f") [] (Literal None))-, SoftBreak-, Code-    "test/typ/compiler/spread-04.typ"-    ( line 4 , column 2 )-    (FuncCall (Ident (Identifier "f")) [ SpreadArg (Literal None) ])-, SoftBreak-, Code-    "test/typ/compiler/spread-04.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "f"))-       [ SpreadArg-           (If [ ( Literal (Boolean False) , Block (CodeBlock []) ) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/spread-04.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "f"))-       [ SpreadArg-           (For-              (BasicBind (Just (Identifier "x")))-              (Array [])-              (Block (Content [])))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak() })
− test/out/compiler/spread-05.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/spread-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/spread-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/spread-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/spread-05.typ"-    ( line 3 , column 2 )-    (LetFunc-       (Identifier "f")-       [ SinkParam Nothing , NormalParam (Identifier "a") ]-       (Ident (Identifier "a")))-, SoftBreak-, Code-    "test/typ/compiler/spread-05.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "f"))-              [ NormalArg (Literal (Int 1))-              , NormalArg (Literal (Int 2))-              , NormalArg (Literal (Int 3))-              ])-       , NormalArg (Literal (Int 3))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/spread-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/spread-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/spread-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/spread-09.out
@@ -1,127 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/spread-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/spread-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/spread-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/spread-09.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "l")))-              (Array-                 [ Reg (Literal (Int 1))-                 , Reg (Literal (Int 2))-                 , Reg (Literal (Int 3))-                 ])-          , Let-              (BasicBind (Just (Identifier "r")))-              (Array-                 [ Reg (Literal (Int 5))-                 , Reg (Literal (Int 6))-                 , Reg (Literal (Int 7))-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (Array-                     [ Spr (Ident (Identifier "l"))-                     , Reg (Literal (Int 4))-                     , Spr (Ident (Identifier "r"))-                     ])-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "range"))-                     [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 8)) ])-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg (Dict [ Spr (Literal None) ]) , NormalArg (Array []) ]-          ]))-, ParBreak-, Code-    "test/typ/compiler/spread-09.typ"-    ( line 10 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "x")))-              (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ])-          , Let-              (BasicBind (Just (Identifier "y")))-              (Dict [ Reg ( Ident (Identifier "b") , Literal (Int 2) ) ])-          , Let-              (BasicBind (Just (Identifier "z")))-              (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 3) ) ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (Dict-                     [ Spr (Ident (Identifier "x"))-                     , Spr (Ident (Identifier "y"))-                     , Spr (Ident (Identifier "z"))-                     ])-              , NormalArg-                  (Dict-                     [ Reg ( Ident (Identifier "a") , Literal (Int 3) )-                     , Reg ( Ident (Identifier "b") , Literal (Int 2) )-                     ])-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (Dict-                     [ Spr (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ])-                     , Reg ( Ident (Identifier "b") , Literal (Int 2) )-                     ])-              , NormalArg-                  (Dict-                     [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-                     , Reg ( Ident (Identifier "b") , Literal (Int 2) )-                     ])-              ]-          ]))-, ParBreak-]-"test/typ/compiler/spread-09.typ" (line 3, column 2):-unexpected end of input-expecting end of input-Could not spread TNone into dictionary
− test/out/compiler/spread-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/spread-11.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/spread-12.out
@@ -1,106 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/spread-12.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/spread-12.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/spread-12.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/spread-12.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ LetFunc-              (Identifier "f")-              [ SinkParam (Just (Identifier "a"))-              , NormalParam (Identifier "b")-              ]-              (Array-                 [ Reg (Ident (Identifier "a")) , Reg (Ident (Identifier "b")) ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "repr"))-                     [ NormalArg-                         (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 1)) ])-                     ])-              , NormalArg (Literal (String "((), 1)"))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "repr"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "f"))-                            [ NormalArg (Literal (Int 1))-                            , NormalArg (Literal (Int 2))-                            , NormalArg (Literal (Int 3))-                            ])-                     ])-              , NormalArg (Literal (String "((1, 2), 3)"))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "repr"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "f"))-                            [ NormalArg (Literal (Int 1))-                            , NormalArg (Literal (Int 2))-                            , NormalArg (Literal (Int 3))-                            , NormalArg (Literal (Int 4))-                            , NormalArg (Literal (Int 5))-                            ])-                     ])-              , NormalArg (Literal (String "((1, 2, 3, 4), 5)"))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/spread-13.out
@@ -1,96 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/spread-13.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/spread-13.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/spread-13.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/spread-13.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ LetFunc-              (Identifier "f")-              [ NormalParam (Identifier "a")-              , SinkParam (Just (Identifier "b"))-              , NormalParam (Identifier "c")-              ]-              (Array-                 [ Reg (Ident (Identifier "a"))-                 , Reg (Ident (Identifier "b"))-                 , Reg (Ident (Identifier "c"))-                 ])-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "repr"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "f"))-                            [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ])-                     ])-              , NormalArg (Literal (String "(1, (), 2)"))-              ]-          , FuncCall-              (Ident (Identifier "test"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "repr"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "f"))-                            [ NormalArg (Literal (Int 1))-                            , NormalArg (Literal (Int 2))-                            , NormalArg (Literal (Int 3))-                            , NormalArg (Literal (Int 4))-                            , NormalArg (Literal (Int 5))-                            ])-                     ])-              , NormalArg (Literal (String "(1, (2, 3, 4), 5)"))-              ]-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/spread-14.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/string-00.out
@@ -1,61 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "len")) (Literal (String "Hello World!")))-              [])-       , NormalArg (Literal (Int 12))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-01.out
@@ -1,123 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "first")) (Literal (String "Hello")))-              [])-       , NormalArg (Literal (String "H"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "last")) (Literal (String "Hello")))-              [])-       , NormalArg (Literal (String "o"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "first"))-                 (Literal-                    (String-                       "\127987\65039\8205\127752A\127987\65039\8205\9895\65039")))-              [])-       , NormalArg (Literal (String "\127987\65039\8205\127752"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "last"))-                 (Literal-                    (String-                       "\127987\65039\8205\127752A\127987\65039\8205\9895\65039")))-              [])-       , NormalArg (Literal (String "\127987\65039\8205\9895\65039"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: ["🏳"]), -                 text(body: [ /= ]), -                 text(body: ["🏳️‍🌈"]), -                 text(body: [)]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: ["️"]), -                 text(body: [ /= ]), -                 text(body: ["🏳️‍⚧️"]), -                 text(body: [)]), -                 parbreak() })
− test/out/compiler/string-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/string-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/string-04.out
@@ -1,126 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-04.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "at")) (Literal (String "Hello")))-              [ NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (String "e"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-04.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "at")) (Literal (String "Hello")))-              [ NormalArg (Literal (Int 4)) ])-       , NormalArg (Literal (String "o"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-04.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "at")) (Literal (String "Hello")))-              [ NormalArg (Negated (Literal (Int 1))) ])-       , NormalArg (Literal (String "o"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-04.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "at")) (Literal (String "Hello")))-              [ NormalArg (Negated (Literal (Int 2))) ])-       , NormalArg (Literal (String "l"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-04.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "at"))-                 (Literal (String "Hey: \127987\65039\8205\127752 there!")))-              [ NormalArg (Literal (Int 5)) ])-       , NormalArg (Literal (String "\127987\65039\8205\127752"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: ["🏳"]), -                 text(body: [ /= ]), -                 text(body: ["🏳️‍🌈"]), -                 text(body: [)]), -                 parbreak() })
− test/out/compiler/string-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/string-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/string-07.out
@@ -1,116 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-07.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "slice")) (Literal (String "abc")))-              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ])-       , NormalArg (Literal (String "b"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-07.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "slice")) (Literal (String "abc\127969def")))-              [ NormalArg (Literal (Int 2)) , NormalArg (Literal (Int 7)) ])-       , NormalArg (Literal (String "c\127969"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-07.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "slice")) (Literal (String "abc\127969def")))-              [ NormalArg (Literal (Int 2))-              , NormalArg (Negated (Literal (Int 2)))-              ])-       , NormalArg (Literal (String "c\127969d"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-07.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "slice")) (Literal (String "abc\127969def")))-              [ NormalArg (Negated (Literal (Int 3)))-              , NormalArg (Negated (Literal (Int 1)))-              ])-       , NormalArg (Literal (String "de"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: ["c🏡def"]), -                 text(body: [ /= ]), -                 text(body: ["c🏡"]), -                 text(body: [)]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/string-09.out
@@ -1,136 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-09.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "clusters")) (Literal (String "abc")))-              [])-       , NormalArg-           (Array-              [ Reg (Literal (String "a"))-              , Reg (Literal (String "b"))-              , Reg (Literal (String "c"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-09.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "clusters")) (Literal (String "abc")))-              [])-       , NormalArg-           (Array-              [ Reg (Literal (String "a"))-              , Reg (Literal (String "b"))-              , Reg (Literal (String "c"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-09.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "clusters"))-                 (Literal (String "\127987\65039\8205\127752!")))-              [])-       , NormalArg-           (Array-              [ Reg (Literal (String "\127987\65039\8205\127752"))-              , Reg (Literal (String "!"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-09.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "codepoints"))-                 (Literal (String "\127987\65039\8205\127752!")))-              [])-       , NormalArg-           (Array-              [ Reg (Literal (String "\127987"))-              , Reg (Literal (String "\65039"))-              , Reg (Literal (String "\8205"))-              , Reg (Literal (String "\127752"))-              , Reg (Literal (String "!"))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: [("🏳", "️", "‍", "🌈", "!")]), -                 text(body: [ /= ]), -                 text(body: [("🏳️‍🌈", "!")]), -                 text(body: [)]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-10.out
@@ -1,181 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-10.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-10.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-10.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-10.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "contains")) (Literal (String "abc")))-              [ NormalArg (Literal (String "b")) ])-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-10.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection (Literal (String "b")) (Literal (String "abc")))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-10.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "contains")) (Literal (String "1234f")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d")) ])-              ])-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-10.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection-              (FuncCall-                 (Ident (Identifier "regex"))-                 [ NormalArg (Literal (String "\\d")) ])-              (Literal (String "1234f")))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-10.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "contains")) (Literal (String "abc")))-              [ NormalArg (Literal (String "d")) ])-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-10.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (InCollection-              (Literal (String "1234g")) (Literal (String "1234f")))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-10.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "contains")) (Literal (String "abc")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "^[abc]$")) ])-              ])-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-10.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "contains")) (Literal (String "abc")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "^[abc]+$")) ])-              ])-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-11.out
@@ -1,173 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-11.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-11.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-11.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-11.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "starts-with")) (Literal (String "Typst")))-              [ NormalArg (Literal (String "Ty")) ])-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-11.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "starts-with")) (Literal (String "Typst")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "[Tt]ys")) ])-              ])-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-11.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "starts-with")) (Literal (String "Typst")))-              [ NormalArg (Literal (String "st")) ])-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-11.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "ends-with")) (Literal (String "Typst")))-              [ NormalArg (Literal (String "st")) ])-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-11.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "ends-with")) (Literal (String "Typst")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d*")) ])-              ])-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-11.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "ends-with")) (Literal (String "Typst")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d+")) ])-              ])-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-11.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "ends-with")) (Literal (String "Typ12")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d+")) ])-              ])-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-12.out
@@ -1,121 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-12.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-12.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-12.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-12.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "date")))-       (FuncCall-          (Ident (Identifier "regex"))-          [ NormalArg (Literal (String "\\d{2}:\\d{2}")) ]))-, SoftBreak-, Code-    "test/typ/compiler/string-12.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "find")) (Literal (String "Hello World")))-              [ NormalArg (Literal (String "World")) ])-       , NormalArg (Literal (String "World"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-12.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "position")) (Literal (String "Hello World")))-              [ NormalArg (Literal (String "World")) ])-       , NormalArg (Literal (Int 6))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-12.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "find")) (Literal (String "It's 12:13 now")))-              [ NormalArg (Ident (Identifier "date")) ])-       , NormalArg (Literal (String "12:13"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-12.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "position"))-                 (Literal (String "It's 12:13 now")))-              [ NormalArg (Ident (Identifier "date")) ])-       , NormalArg (Literal (Int 5))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-13.out
@@ -1,255 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-13.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-13.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-13.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-13.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "match")) (Literal (String "Is there a")))-              [ NormalArg (Literal (String "for this?")) ])-       , NormalArg (Literal None)-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-13.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "match"))-                 (Literal (String "The time of my life.")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "[mit]+e")) ])-              ])-       , NormalArg-           (Dict-              [ Reg ( Ident (Identifier "start") , Literal (Int 4) )-              , Reg ( Ident (Identifier "end") , Literal (Int 8) )-              , Reg ( Ident (Identifier "text") , Literal (String "time") )-              , Reg ( Ident (Identifier "captures") , Array [] )-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/string-13.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "matches")) (Literal (String "Hello there")))-              [ NormalArg (Literal (String "\\d")) ])-       , NormalArg (Array [])-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-13.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "matches")) (Literal (String "Day by Day.")))-              [ NormalArg (Literal (String "Day")) ])-       , NormalArg-           (Array-              [ Reg-                  (Dict-                     [ Reg ( Ident (Identifier "start") , Literal (Int 0) )-                     , Reg ( Ident (Identifier "end") , Literal (Int 3) )-                     , Reg ( Ident (Identifier "text") , Literal (String "Day") )-                     , Reg ( Ident (Identifier "captures") , Array [] )-                     ])-              , Reg-                  (Dict-                     [ Reg ( Ident (Identifier "start") , Literal (Int 7) )-                     , Reg ( Ident (Identifier "end") , Literal (Int 10) )-                     , Reg ( Ident (Identifier "text") , Literal (String "Day") )-                     , Reg ( Ident (Identifier "captures") , Array [] )-                     ])-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/compiler/string-13.typ"-    ( line 17 , column 2 )-    (LetFunc-       (Identifier "timesum")-       [ NormalParam (Identifier "text") ]-       (Block-          (CodeBlock-             [ Let (BasicBind (Just (Identifier "time"))) (Literal (Int 0))-             , For-                 (BasicBind (Just (Identifier "match")))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "matches")) (Ident (Identifier "text")))-                    [ NormalArg-                        (FuncCall-                           (Ident (Identifier "regex"))-                           [ NormalArg (Literal (String "(\\d+):(\\d+)")) ])-                    ])-                 (Block-                    (CodeBlock-                       [ Let-                           (BasicBind (Just (Identifier "caps")))-                           (FieldAccess-                              (Ident (Identifier "captures")) (Ident (Identifier "match")))-                       , Assign-                           (Ident (Identifier "time"))-                           (Plus-                              (Ident (Identifier "time"))-                              (Plus-                                 (Times-                                    (Literal (Int 60))-                                    (FuncCall-                                       (Ident (Identifier "int"))-                                       [ NormalArg-                                           (FuncCall-                                              (FieldAccess-                                                 (Ident (Identifier "at"))-                                                 (Ident (Identifier "caps")))-                                              [ NormalArg (Literal (Int 0)) ])-                                       ]))-                                 (FuncCall-                                    (Ident (Identifier "int"))-                                    [ NormalArg-                                        (FuncCall-                                           (FieldAccess-                                              (Ident (Identifier "at")) (Ident (Identifier "caps")))-                                           [ NormalArg (Literal (Int 1)) ])-                                    ])))-                       ]))-             , Plus-                 (Plus-                    (FuncCall-                       (Ident (Identifier "str"))-                       [ NormalArg-                           (FuncCall-                              (Ident (Identifier "int"))-                              [ NormalArg-                                  (Divided (Ident (Identifier "time")) (Literal (Int 60)))-                              ])-                       ])-                    (Literal (String ":")))-                 (FuncCall-                    (Ident (Identifier "str"))-                    [ NormalArg-                        (FuncCall-                           (FieldAccess-                              (Ident (Identifier "rem")) (Ident (Identifier "calc")))-                           [ NormalArg (Ident (Identifier "time"))-                           , NormalArg (Literal (Int 60))-                           ])-                    ])-             ])))-, ParBreak-, Code-    "test/typ/compiler/string-13.typ"-    ( line 26 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "timesum")) [ NormalArg (Literal (String "")) ])-       , NormalArg (Literal (String "0:0"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-13.typ"-    ( line 27 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "timesum"))-              [ NormalArg (Literal (String "2:70")) ])-       , NormalArg (Literal (String "3:10"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-13.typ"-    ( line 28 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "timesum"))-              [ NormalArg (Literal (String "1:20, 2:10, 0:40")) ])-       , NormalArg (Literal (String "4:10"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-14.out
@@ -1,198 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-14.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-14.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-14.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-14.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "ABC")))-              [ NormalArg (Literal (String ""))-              , NormalArg (Literal (String "-"))-              ])-       , NormalArg (Literal (String "-A-B-C-"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-14.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "Ok")))-              [ NormalArg (Literal (String "Ok"))-              , NormalArg (Literal (String "Nope"))-              , KeyValArg (Identifier "count") (Literal (Int 0))-              ])-       , NormalArg (Literal (String "Ok"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-14.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "to add?")))-              [ NormalArg (Literal (String ""))-              , NormalArg (Literal (String "How "))-              , KeyValArg (Identifier "count") (Literal (Int 1))-              ])-       , NormalArg (Literal (String "How to add?"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-14.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "AB C DEF GH J")))-              [ NormalArg (Literal (String " "))-              , NormalArg (Literal (String ","))-              , KeyValArg (Identifier "count") (Literal (Int 2))-              ])-       , NormalArg (Literal (String "AB,C,DEF GH J"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-14.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace"))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "replace"))-                       (FuncCall-                          (FieldAccess-                             (Ident (Identifier "replace"))-                             (FuncCall-                                (FieldAccess-                                   (Ident (Identifier "replace")) (Literal (String "Walcemo")))-                                [ NormalArg (Literal (String "o"))-                                , NormalArg (Literal (String "k"))-                                ]))-                          [ NormalArg (Literal (String "e"))-                          , NormalArg (Literal (String "o"))-                          ]))-                    [ NormalArg (Literal (String "k"))-                    , NormalArg (Literal (String "e"))-                    ]))-              [ NormalArg (Literal (String "a"))-              , NormalArg (Literal (String "e"))-              ])-       , NormalArg (Literal (String "Welcome"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-14.typ"-    ( line 14 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "123")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d$")) ])-              , NormalArg (Literal (String "_"))-              ])-       , NormalArg (Literal (String "12_"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-14.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "123")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d{1,2}$")) ])-              , NormalArg (Literal (String "__"))-              ])-       , NormalArg (Literal (String "1__"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-15.out
@@ -1,476 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-15.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-15.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-15.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "abc")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "[a-z]")) ])-              , NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "m") ]-                     (Block-                        (CodeBlock-                           [ Plus-                               (Plus-                                  (FuncCall-                                     (Ident (Identifier "str"))-                                     [ NormalArg-                                         (FieldAccess-                                            (Ident (Identifier "start")) (Ident (Identifier "m")))-                                     ])-                                  (FieldAccess-                                     (Ident (Identifier "text")) (Ident (Identifier "m"))))-                               (FuncCall-                                  (Ident (Identifier "str"))-                                  [ NormalArg-                                      (FieldAccess-                                         (Ident (Identifier "end")) (Ident (Identifier "m")))-                                  ])-                           ])))-              ])-       , NormalArg (Literal (String "0a11b22c3"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "abcd, efgh")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\w+")) ])-              , NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "m") ]-                     (Block-                        (CodeBlock-                           [ FuncCall-                               (Ident (Identifier "upper"))-                               [ NormalArg-                                   (FieldAccess-                                      (Ident (Identifier "text")) (Ident (Identifier "m")))-                               ]-                           ])))-              ])-       , NormalArg (Literal (String "ABCD, EFGH"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "hello : world")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "^(.+)\\s*(:)\\s*(.+)$")) ])-              , NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "m") ]-                     (Block-                        (CodeBlock-                           [ Plus-                               (Plus-                                  (Plus-                                     (FuncCall-                                        (Ident (Identifier "upper"))-                                        [ NormalArg-                                            (FuncCall-                                               (FieldAccess-                                                  (Ident (Identifier "at"))-                                                  (FieldAccess-                                                     (Ident (Identifier "captures"))-                                                     (Ident (Identifier "m"))))-                                               [ NormalArg (Literal (Int 0)) ])-                                        ])-                                     (FuncCall-                                        (FieldAccess-                                           (Ident (Identifier "at"))-                                           (FieldAccess-                                              (Ident (Identifier "captures"))-                                              (Ident (Identifier "m"))))-                                        [ NormalArg (Literal (Int 1)) ]))-                                  (Literal (String " ")))-                               (FuncCall-                                  (Ident (Identifier "upper"))-                                  [ NormalArg-                                      (FuncCall-                                         (FieldAccess-                                            (Ident (Identifier "at"))-                                            (FieldAccess-                                               (Ident (Identifier "captures"))-                                               (Ident (Identifier "m"))))-                                         [ NormalArg (Literal (Int 2)) ])-                                  ])-                           ])))-              ])-       , NormalArg (Literal (String "HELLO : WORLD"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace"))-                 (Literal (String "hello world, lorem ipsum")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "(\\w+) (\\w+)")) ])-              , NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "m") ]-                     (Block-                        (CodeBlock-                           [ Plus-                               (Plus-                                  (FuncCall-                                     (FieldAccess-                                        (Ident (Identifier "at"))-                                        (FieldAccess-                                           (Ident (Identifier "captures"))-                                           (Ident (Identifier "m"))))-                                     [ NormalArg (Literal (Int 1)) ])-                                  (Literal (String " ")))-                               (FuncCall-                                  (FieldAccess-                                     (Ident (Identifier "at"))-                                     (FieldAccess-                                        (Ident (Identifier "captures")) (Ident (Identifier "m"))))-                                  [ NormalArg (Literal (Int 0)) ])-                           ])))-              ])-       , NormalArg (Literal (String "world hello, ipsum lorem"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace"))-                 (Literal (String "hello world, lorem ipsum")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "(\\w+) (\\w+)")) ])-              , KeyValArg (Identifier "count") (Literal (Int 1))-              , NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "m") ]-                     (Block-                        (CodeBlock-                           [ Plus-                               (Plus-                                  (FuncCall-                                     (FieldAccess-                                        (Ident (Identifier "at"))-                                        (FieldAccess-                                           (Ident (Identifier "captures"))-                                           (Ident (Identifier "m"))))-                                     [ NormalArg (Literal (Int 1)) ])-                                  (Literal (String " ")))-                               (FuncCall-                                  (FieldAccess-                                     (Ident (Identifier "at"))-                                     (FieldAccess-                                        (Ident (Identifier "captures")) (Ident (Identifier "m"))))-                                  [ NormalArg (Literal (Int 0)) ])-                           ])))-              ])-       , NormalArg (Literal (String "world hello, lorem ipsum"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 19 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "123 456")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "[a-z]+")) ])-              , NormalArg (Literal (String "a"))-              ])-       , NormalArg (Literal (String "123 456"))-       ])-, ParBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 21 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "abc")))-              [ NormalArg (Literal (String ""))-              , NormalArg-                  (FuncExpr [ NormalParam (Identifier "m") ] (Literal (String "-")))-              ])-       , NormalArg (Literal (String "-a-b-c-"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 22 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "abc")))-              [ NormalArg (Literal (String ""))-              , NormalArg-                  (FuncExpr [ NormalParam (Identifier "m") ] (Literal (String "-")))-              , KeyValArg (Identifier "count") (Literal (Int 1))-              ])-       , NormalArg (Literal (String "-abc"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 23 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "123")))-              [ NormalArg (Literal (String "abc"))-              , NormalArg-                  (FuncExpr [ NormalParam (Identifier "m") ] (Literal (String "")))-              ])-       , NormalArg (Literal (String "123"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 24 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "123")))-              [ NormalArg (Literal (String "abc"))-              , NormalArg-                  (FuncExpr [ NormalParam (Identifier "m") ] (Literal (String "")))-              , KeyValArg (Identifier "count") (Literal (Int 2))-              ])-       , NormalArg (Literal (String "123"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 25 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "a123b123c")))-              [ NormalArg (Literal (String "123"))-              , NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "m") ]-                     (Block-                        (CodeBlock-                           [ Plus-                               (Plus-                                  (FuncCall-                                     (Ident (Identifier "str"))-                                     [ NormalArg-                                         (FieldAccess-                                            (Ident (Identifier "start")) (Ident (Identifier "m")))-                                     ])-                                  (Literal (String "-")))-                               (FuncCall-                                  (Ident (Identifier "str"))-                                  [ NormalArg-                                      (FieldAccess-                                         (Ident (Identifier "end")) (Ident (Identifier "m")))-                                  ])-                           ])))-              ])-       , NormalArg (Literal (String "a1-4b5-8c"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 28 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "halla warld")))-              [ NormalArg (Literal (String "a"))-              , NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "m") ]-                     (Block-                        (CodeBlock-                           [ If-                               [ ( Equals-                                     (FieldAccess-                                        (Ident (Identifier "start")) (Ident (Identifier "m")))-                                     (Literal (Int 1))-                                 , Block (CodeBlock [ Literal (String "e") ])-                                 )-                               , ( Or-                                     (Equals-                                        (FieldAccess-                                           (Ident (Identifier "start")) (Ident (Identifier "m")))-                                        (Literal (Int 4)))-                                     (Equals-                                        (FieldAccess-                                           (Ident (Identifier "start")) (Ident (Identifier "m")))-                                        (Literal (Int 7)))-                                 , Block (CodeBlock [ Literal (String "o") ])-                                 )-                               ]-                           ])))-              ])-       , NormalArg (Literal (String "hello world"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-15.typ"-    ( line 32 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "replace")) (Literal (String "aaa")))-              [ NormalArg (Literal (String "a"))-              , NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "m") ]-                     (FuncCall-                        (Ident (Identifier "str"))-                        [ NormalArg-                            (FuncCall-                               (FieldAccess-                                  (Ident (Identifier "len"))-                                  (FieldAccess-                                     (Ident (Identifier "captures")) (Ident (Identifier "m"))))-                               [])-                        ]))-              ])-       , NormalArg (Literal (String "000"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-16.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/string-17.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/string-18.out
@@ -1,420 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-18.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-18.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-18.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-18.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "str")))-       (Literal (String "Typst, LaTeX, Word, InDesign")))-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "array")))-       (Array-          [ Reg (Literal (String "Typst"))-          , Reg (Literal (String "LaTeX"))-          , Reg (Literal (String "Word"))-          , Reg (Literal (String "InDesign"))-          ]))-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "map"))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "split")) (Ident (Identifier "str")))-                    [ NormalArg (Literal (String ",")) ]))-              [ NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "s") ]-                     (FuncCall-                        (FieldAccess (Ident (Identifier "trim")) (Ident (Identifier "s")))-                        []))-              ])-       , NormalArg (Ident (Identifier "array"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "trim")) (Literal (String ""))) [])-       , NormalArg (Literal (String ""))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String " abc ")))-              [ KeyValArg (Identifier "at") (Ident (Identifier "start")) ])-       , NormalArg (Literal (String "abc "))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String " abc ")))-              [ KeyValArg (Identifier "at") (Ident (Identifier "end"))-              , KeyValArg (Identifier "repeat") (Literal (Boolean True))-              ])-       , NormalArg (Literal (String " abc"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "  abc")))-              [ KeyValArg (Identifier "at") (Ident (Identifier "start"))-              , KeyValArg (Identifier "repeat") (Literal (Boolean False))-              ])-       , NormalArg (Literal (String "abc"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "aabcaa")))-              [ NormalArg (Literal (String "a"))-              , KeyValArg (Identifier "repeat") (Literal (Boolean False))-              ])-       , NormalArg (Literal (String "abca"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "aabca")))-              [ NormalArg (Literal (String "a"))-              , KeyValArg (Identifier "at") (Ident (Identifier "start"))-              ])-       , NormalArg (Literal (String "bca"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "aabcaa")))-              [ NormalArg (Literal (String "a"))-              , KeyValArg (Identifier "at") (Ident (Identifier "end"))-              , KeyValArg (Identifier "repeat") (Literal (Boolean False))-              ])-       , NormalArg (Literal (String "aabca"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "trim")) (Literal (String "")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex")) [ NormalArg (Literal (String ".")) ])-              ])-       , NormalArg (Literal (String ""))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 14 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "123abc456")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d")) ])-              ])-       , NormalArg (Literal (String "abc"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "123abc456")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d")) ])-              , KeyValArg (Identifier "repeat") (Literal (Boolean False))-              ])-       , NormalArg (Literal (String "23abc45"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "123a4b5c678")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d")) ])-              , KeyValArg (Identifier "repeat") (Literal (Boolean True))-              ])-       , NormalArg (Literal (String "a4b5c"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "123a4b5c678")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d")) ])-              , KeyValArg (Identifier "repeat") (Literal (Boolean False))-              ])-       , NormalArg (Literal (String "23a4b5c67"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 18 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "123abc456")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d")) ])-              , KeyValArg (Identifier "at") (Ident (Identifier "start"))-              ])-       , NormalArg (Literal (String "abc456"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 19 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "123abc456")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d")) ])-              , KeyValArg (Identifier "at") (Ident (Identifier "end"))-              ])-       , NormalArg (Literal (String "123abc"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 20 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "123abc456")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d+")) ])-              , KeyValArg (Identifier "at") (Ident (Identifier "end"))-              , KeyValArg (Identifier "repeat") (Literal (Boolean False))-              ])-       , NormalArg (Literal (String "123abc"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 21 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "123abc456")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d{1,2}$")) ])-              , KeyValArg (Identifier "repeat") (Literal (Boolean False))-              ])-       , NormalArg (Literal (String "123abc4"))-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-18.typ"-    ( line 22 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "trim")) (Literal (String "hello world")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex")) [ NormalArg (Literal (String ".")) ])-              ])-       , NormalArg (Literal (String ""))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-19.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/string-20.out
@@ -1,130 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/string-20.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/string-20.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/string-20.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/string-20.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "split")) (Literal (String "abc")))-              [ NormalArg (Literal (String "")) ])-       , NormalArg-           (Array-              [ Reg (Literal (String ""))-              , Reg (Literal (String "a"))-              , Reg (Literal (String "b"))-              , Reg (Literal (String "c"))-              , Reg (Literal (String ""))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-20.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess (Ident (Identifier "split")) (Literal (String "abc")))-              [ NormalArg (Literal (String "b")) ])-       , NormalArg-           (Array [ Reg (Literal (String "a")) , Reg (Literal (String "c")) ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-20.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "split")) (Literal (String "a123c")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d")) ])-              ])-       , NormalArg-           (Array-              [ Reg (Literal (String "a"))-              , Reg (Literal (String ""))-              , Reg (Literal (String ""))-              , Reg (Literal (String "c"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compiler/string-20.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "split")) (Literal (String "a123c")))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "regex"))-                     [ NormalArg (Literal (String "\\d+")) ])-              ])-       , NormalArg-           (Array [ Reg (Literal (String "a")) , Reg (Literal (String "c")) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/string-21.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/while-00.out
@@ -1,136 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/while-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/while-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/while-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compiler/while-00.typ"-    ( line 3 , column 2 )-    (Let (BasicBind (Just (Identifier "i"))) (Literal (Int 0)))-, SoftBreak-, Code-    "test/typ/compiler/while-00.typ"-    ( line 4 , column 2 )-    (While-       (LessThan (Ident (Identifier "i")) (Literal (Int 10)))-       (Block-          (Content-             [ SoftBreak-             , Code-                 "test/typ/compiler/while-00.typ"-                 ( line 5 , column 4 )-                 (Assign-                    (Ident (Identifier "i"))-                    (Plus (Ident (Identifier "i")) (Literal (Int 2))))-             , SoftBreak-             , Code-                 "test/typ/compiler/while-00.typ"-                 ( line 6 , column 4 )-                 (Ident (Identifier "i"))-             , ParBreak-             ])))-, ParBreak-, Comment-, Code-    "test/typ/compiler/while-00.typ"-    ( line 10 , column 2 )-    (Let-       (BasicBind (Just (Identifier "iter"))) (Literal (Boolean True)))-, SoftBreak-, Code-    "test/typ/compiler/while-00.typ"-    ( line 11 , column 2 )-    (While-       (Ident (Identifier "iter"))-       (Block-          (CodeBlock-             [ Assign (Ident (Identifier "iter")) (Literal (Boolean False))-             , Literal (String "Hi.")-             ])))-, ParBreak-, Code-    "test/typ/compiler/while-00.typ"-    ( line 16 , column 2 )-    (While-       (Literal (Boolean False))-       (Block (CodeBlock [ Ident (Identifier "dont-care") ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [2]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [4]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [6]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [8]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [10]), -                 parbreak(), -                 parbreak(), -                 text(body: [-]), -                 text(body: [Hi.]), -                 parbreak(), -                 parbreak() })
− test/out/compiler/while-01.out
@@ -1,95 +0,0 @@---- parse tree ----[ Code-    "test/typ/compiler/while-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compiler/while-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compiler/while-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, SoftBreak-, Code-    "test/typ/compiler/while-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (While (Literal (Boolean False)) (Block (CodeBlock [])))-       , NormalArg (Literal None)-       ])-, ParBreak-, Code-    "test/typ/compiler/while-01.typ"-    ( line 7 , column 2 )-    (Let (BasicBind (Just (Identifier "i"))) (Literal (Int 0)))-, SoftBreak-, Code-    "test/typ/compiler/while-01.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg-                  (While-                     (LessThan (Ident (Identifier "i")) (Literal (Int 1)))-                     (Block-                        (Content-                           [ Code-                               "test/typ/compiler/while-01.typ"-                               ( line 8 , column 26 )-                               (Assign-                                  (Ident (Identifier "i"))-                                  (Plus (Ident (Identifier "i")) (Literal (Int 1))))-                           ])))-              ])-       , NormalArg (Literal (String "content"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compiler/while-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/while-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/while-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compiler/while-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-00.out
@@ -1,181 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "int")) [ NormalArg (Literal (Boolean False)) ])-       , NormalArg (Literal (Int 0))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "int")) [ NormalArg (Literal (Boolean True)) ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "int")) [ NormalArg (Literal (Int 10)) ])-       , NormalArg (Literal (Int 10))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "int")) [ NormalArg (Literal (String "150")) ])-       , NormalArg (Literal (Int 150))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "int"))-              [ NormalArg (Divided (Literal (Int 10)) (Literal (Int 3))) ])-       , NormalArg (Literal (Int 3))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "float")) [ NormalArg (Literal (Int 10)) ])-       , NormalArg (Literal (Float 10.0))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-00.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "float"))-              [ NormalArg-                  (Times-                     (Literal (Numeric 50.0 Percent)) (Literal (Numeric 30.0 Percent)))-              ])-       , NormalArg (Literal (Float 0.15))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "float"))-              [ NormalArg (Literal (String "31.4e-1")) ])-       , NormalArg (Literal (Float 3.14))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "float")) [ NormalArg (Literal (Int 10)) ])-              ])-       , NormalArg (Literal (String "float"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-01.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compute/calc-01.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "round")) (Ident (Identifier "calc")))-              [ NormalArg-                  (FieldAccess (Ident (Identifier "e")) (Ident (Identifier "calc")))-              , KeyValArg (Identifier "digits") (Literal (Int 2))-              ])-       , NormalArg (Literal (Float 2.72))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "round")) (Ident (Identifier "calc")))-              [ NormalArg-                  (FieldAccess (Ident (Identifier "pi")) (Ident (Identifier "calc")))-              , KeyValArg (Identifier "digits") (Literal (Int 2))-              ])-       , NormalArg (Literal (Float 3.14))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-06.out
@@ -1,157 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-06.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))-              [ NormalArg (Negated (Literal (Int 3))) ])-       , NormalArg (Literal (Int 3))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-06.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 3)) ])-       , NormalArg (Literal (Int 3))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-06.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))-              [ NormalArg (Negated (Literal (Float 0.0))) ])-       , NormalArg (Literal (Float 0.0))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-06.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Float 0.0)) ])-       , NormalArg (Negated (Literal (Float 0.0)))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-06.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))-              [ NormalArg (Negated (Literal (Float 3.14))) ])-       , NormalArg (Literal (Float 3.14))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-06.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Numeric 50.0 Percent)) ])-       , NormalArg (Literal (Numeric 50.0 Percent))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-06.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))-              [ NormalArg (Negated (Literal (Numeric 25.0 Percent))) ])-       , NormalArg (Literal (Numeric 25.0 Percent))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-08.out
@@ -1,109 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-08.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "even")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 2)) ])-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-08.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "odd")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 2)) ])-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-08.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "odd")) (Ident (Identifier "calc")))-              [ NormalArg (Negated (Literal (Int 1))) ])-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-08.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "even")) (Ident (Identifier "calc")))-              [ NormalArg (Negated (Literal (Int 11))) ])-       , NormalArg (Literal (Boolean False))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-09.out
@@ -1,133 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-09.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "rem")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (Int 0))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-09.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "rem")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 3)) ])-       , NormalArg (Literal (Int 2))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-09.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "rem")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5))-              , NormalArg (Negated (Literal (Int 3)))-              ])-       , NormalArg (Literal (Int 2))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-09.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "rem")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Float 22.5))-              , NormalArg (Literal (Int 10))-              ])-       , NormalArg (Literal (Float 2.5))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-09.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "rem")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 9)) , NormalArg (Literal (Float 4.5)) ])-       , NormalArg (Literal (Int 0))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: [1]), -                 text(body: [ /= ]), -                 text(body: [0]), -                 text(body: [)]), -                 parbreak() })
− test/out/compute/calc-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-11.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-12.out
@@ -1,129 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-12.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-12.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-12.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-12.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "quo")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-12.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "quo")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 3)) ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-12.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "quo")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5))-              , NormalArg (Negated (Literal (Int 3)))-              ])-       , NormalArg (Negated (Literal (Int 1)))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-12.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "quo")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Float 22.5))-              , NormalArg (Literal (Int 10))-              ])-       , NormalArg (Literal (Int 2))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-12.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "quo")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 9)) , NormalArg (Literal (Float 4.5)) ])-       , NormalArg (Literal (Int 2))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-13.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-14.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-15.out
@@ -1,117 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-15.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-15.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-15.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-15.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "min")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 2))-              , NormalArg (Negated (Literal (Int 4)))-              ])-       , NormalArg (Negated (Literal (Int 4)))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-15.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "min")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Float 3.5))-              , NormalArg (Literal (Float 100.0))-              , NormalArg (Negated (Literal (Float 0.1)))-              , NormalArg (Literal (Int 3))-              ])-       , NormalArg (Negated (Literal (Float 0.1)))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-15.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "max")) (Ident (Identifier "calc")))-              [ NormalArg (Negated (Literal (Int 3)))-              , NormalArg (Literal (Int 11))-              ])-       , NormalArg (Literal (Int 11))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-15.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "min")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (String "hi")) ])-       , NormalArg (Literal (String "hi"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-16.out
@@ -1,77 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-16.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-16.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-16.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-16.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "pow")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 10)) , NormalArg (Literal (Int 0)) ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-16.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "pow")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 2)) , NormalArg (Literal (Int 4)) ])-       , NormalArg (Literal (Int 16))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-17.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-18.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-19.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-20.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-21.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-22.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-23.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-24.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-25.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-26.out
@@ -1,77 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-26.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-26.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-26.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-26.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "fact")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 0)) ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-26.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "fact")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5)) ])-       , NormalArg (Literal (Int 120))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-27.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-28.out
@@ -1,109 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-28.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-28.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-28.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-28.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "perm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 0)) ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-28.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "perm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 3)) ])-       , NormalArg (Literal (Int 60))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-28.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "perm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 5)) ])-       , NormalArg (Literal (Int 120))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-28.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "perm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 6)) ])-       , NormalArg (Literal (Int 0))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-29.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-30.out
@@ -1,125 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-30.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-30.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-30.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-30.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "binom")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 0)) ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-30.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "binom")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 3)) ])-       , NormalArg (Literal (Int 10))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-30.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "binom")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 5)) ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-30.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "binom")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 6)) ])-       , NormalArg (Literal (Int 0))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-30.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "binom")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 6)) , NormalArg (Literal (Int 2)) ])-       , NormalArg (Literal (Int 15))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-31.out
@@ -1,161 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-31.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-31.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-31.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-31.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 112)) , NormalArg (Literal (Int 77)) ])-       , NormalArg (Literal (Int 7))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-31.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 12)) , NormalArg (Literal (Int 96)) ])-       , NormalArg (Literal (Int 12))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-31.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 13)) , NormalArg (Literal (Int 9)) ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-31.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 13))-              , NormalArg (Negated (Literal (Int 9)))-              ])-       , NormalArg (Literal (Int 1))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-31.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 272557))-              , NormalArg (Literal (Int 272557))-              ])-       , NormalArg (Literal (Int 272557))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-31.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 0)) ])-       , NormalArg (Literal (Int 0))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-31.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 7)) , NormalArg (Literal (Int 0)) ])-       , NormalArg (Literal (Int 7))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-32.out
@@ -1,161 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-32.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-32.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-32.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-32.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 112)) , NormalArg (Literal (Int 77)) ])-       , NormalArg (Literal (Int 1232))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-32.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 12)) , NormalArg (Literal (Int 96)) ])-       , NormalArg (Literal (Int 96))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-32.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 13)) , NormalArg (Literal (Int 9)) ])-       , NormalArg (Literal (Int 117))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-32.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 13))-              , NormalArg (Negated (Literal (Int 9)))-              ])-       , NormalArg (Literal (Int 117))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-32.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 272557))-              , NormalArg (Literal (Int 272557))-              ])-       , NormalArg (Literal (Int 272557))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-32.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 0)) ])-       , NormalArg (Literal (Int 0))-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-32.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))-              [ NormalArg (Literal (Int 8)) , NormalArg (Literal (Int 0)) ])-       , NormalArg (Literal (Int 0))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-33.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-34.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-35.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-36.out
@@ -1,242 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/calc-36.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/calc-36.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/calc-36.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/calc-36.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "range")) [ NormalArg (Literal (Int 4)) ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 0))-              , Reg (Literal (Int 1))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-36.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "range"))-              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 4)) ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 1))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-36.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "range"))-              [ NormalArg (Negated (Literal (Int 4)))-              , NormalArg (Literal (Int 2))-              ])-       , NormalArg-           (Array-              [ Reg (Negated (Literal (Int 4)))-              , Reg (Negated (Literal (Int 3)))-              , Reg (Negated (Literal (Int 2)))-              , Reg (Negated (Literal (Int 1)))-              , Reg (Literal (Int 0))-              , Reg (Literal (Int 1))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-36.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "range"))-              [ NormalArg (Literal (Int 10)) , NormalArg (Literal (Int 5)) ])-       , NormalArg (Array [])-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-36.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "range"))-              [ NormalArg (Literal (Int 10))-              , KeyValArg (Identifier "step") (Literal (Int 3))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 0))-              , Reg (Literal (Int 3))-              , Reg (Literal (Int 6))-              , Reg (Literal (Int 9))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-36.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "range"))-              [ NormalArg (Literal (Int 1))-              , NormalArg (Literal (Int 4))-              , KeyValArg (Identifier "step") (Literal (Int 1))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 1))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-36.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "range"))-              [ NormalArg (Literal (Int 1))-              , NormalArg (Literal (Int 8))-              , KeyValArg (Identifier "step") (Literal (Int 2))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 1))-              , Reg (Literal (Int 3))-              , Reg (Literal (Int 5))-              , Reg (Literal (Int 7))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-36.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "range"))-              [ NormalArg (Literal (Int 5))-              , NormalArg (Literal (Int 2))-              , KeyValArg (Identifier "step") (Negated (Literal (Int 1)))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 5))-              , Reg (Literal (Int 4))-              , Reg (Literal (Int 3))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/calc-36.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "range"))-              [ NormalArg (Literal (Int 10))-              , NormalArg (Literal (Int 0))-              , KeyValArg (Identifier "step") (Negated (Literal (Int 3)))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Int 10))-              , Reg (Literal (Int 7))-              , Reg (Literal (Int 4))-              , Reg (Literal (Int 1))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/calc-37.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-38.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-39.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/calc-40.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/construct-00.out
@@ -1,193 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/construct-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/construct-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/construct-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/construct-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (Numeric 0.0 Percent))-              , NormalArg (Literal (Numeric 30.0 Percent))-              , NormalArg (Literal (Numeric 70.0 Percent))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (String "004db3")) ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/compute/construct-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (Int 255))-              , NormalArg (Literal (Int 0))-              , NormalArg (Literal (Int 0))-              , NormalArg (Literal (Numeric 50.0 Percent))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (String "ff000080")) ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/compute/construct-00.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "lighten"))-                 (FuncCall-                    (Ident (Identifier "rgb"))-                    [ NormalArg (Literal (Int 25))-                    , NormalArg (Literal (Int 35))-                    , NormalArg (Literal (Int 45))-                    ]))-              [ NormalArg (Literal (Numeric 10.0 Percent)) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (Int 48))-              , NormalArg (Literal (Int 57))-              , NormalArg (Literal (Int 66))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/construct-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "darken"))-                 (FuncCall-                    (Ident (Identifier "rgb"))-                    [ NormalArg (Literal (Int 40))-                    , NormalArg (Literal (Int 30))-                    , NormalArg (Literal (Int 20))-                    ]))-              [ NormalArg (Literal (Numeric 10.0 Percent)) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (Int 36))-              , NormalArg (Literal (Int 27))-              , NormalArg (Literal (Int 18))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/construct-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "negate"))-                 (FuncCall-                    (Ident (Identifier "rgb"))-                    [ NormalArg (Literal (String "#133337")) ]))-              [])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (Int 236))-              , NormalArg (Literal (Int 204))-              , NormalArg (Literal (Int 200))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/construct-00.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "lighten")) (Ident (Identifier "white")))-              [ NormalArg (Literal (Numeric 100.0 Percent)) ])-       , NormalArg (Ident (Identifier "white"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [❌(]), -                 text(body: [rgb(0%,30%,70%,100%)]), -                 text(body: [ /= ]), -                 text(body: [rgb(0%,30%,70%,100%)]), -                 text(body: [)]), -                 parbreak(), -                 text(body: [❌(]), -                 text(body: [rgb(100%,0%,0%,50%)]), -                 text(body: [ /= ]), -                 text(body: [rgb(100%,0%,0%,50%)]), -                 text(body: [)]), -                 parbreak(), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/construct-01.out
@@ -1,76 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/construct-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/construct-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/construct-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compute/construct-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg-                  (Identifier "fill")-                  (FuncCall-                     (Ident (Identifier "luma")) [ NormalArg (Literal (Int 0)) ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg-                  (Identifier "fill")-                  (FuncCall-                     (Ident (Identifier "luma"))-                     [ NormalArg (Literal (Numeric 80.0 Percent)) ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 stack(children: (rect(fill: luma(0%)), -                                  rect(fill: luma(80%))), -                       dir: ltr), -                 parbreak() })
− test/out/compute/construct-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/construct-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/construct-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/construct-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/construct-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/construct-07.out
@@ -1,131 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/construct-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/construct-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/construct-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/construct-07.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "envelope")))-       (FuncCall-          (Ident (Identifier "symbol"))-          [ NormalArg (Literal (String "\128386"))-          , NormalArg-              (Array-                 [ Reg (Literal (String "stamped"))-                 , Reg (Literal (String "\128387"))-                 ])-          , NormalArg-              (Array-                 [ Reg (Literal (String "stamped.pen"))-                 , Reg (Literal (String "\128390"))-                 ])-          , NormalArg-              (Array-                 [ Reg (Literal (String "lightning"))-                 , Reg (Literal (String "\128388"))-                 ])-          , NormalArg-              (Array-                 [ Reg (Literal (String "fly"))-                 , Reg (Literal (String "\128389"))-                 ])-          ]))-, ParBreak-, Code-    "test/typ/compute/construct-07.typ"-    ( line 11 , column 2 )-    (Ident (Identifier "envelope"))-, SoftBreak-, Code-    "test/typ/compute/construct-07.typ"-    ( line 12 , column 2 )-    (FieldAccess-       (Ident (Identifier "stamped")) (Ident (Identifier "envelope")))-, SoftBreak-, Code-    "test/typ/compute/construct-07.typ"-    ( line 13 , column 2 )-    (FieldAccess-       (Ident (Identifier "pen")) (Ident (Identifier "envelope")))-, SoftBreak-, Code-    "test/typ/compute/construct-07.typ"-    ( line 14 , column 2 )-    (FieldAccess-       (Ident (Identifier "pen"))-       (FieldAccess-          (Ident (Identifier "stamped")) (Ident (Identifier "envelope"))))-, SoftBreak-, Code-    "test/typ/compute/construct-07.typ"-    ( line 15 , column 2 )-    (FieldAccess-       (Ident (Identifier "lightning")) (Ident (Identifier "envelope")))-, SoftBreak-, Code-    "test/typ/compute/construct-07.typ"-    ( line 16 , column 2 )-    (FieldAccess-       (Ident (Identifier "fly")) (Ident (Identifier "envelope")))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [🖂]), -                 text(body: [-]), -                 text(body: [🖃]), -                 text(body: [-]), -                 text(body: [🖆]), -                 text(body: [-]), -                 text(body: [🖆]), -                 text(body: [-]), -                 text(body: [🖄]), -                 text(body: [-]), -                 text(body: [🖅]), -                 parbreak() })
− test/out/compute/construct-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/construct-09.out
@@ -1,94 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/construct-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/construct-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/construct-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/construct-09.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "str")) [ NormalArg (Literal (Int 123)) ])-       , NormalArg (Literal (String "123"))-       ])-, SoftBreak-, Code-    "test/typ/compute/construct-09.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "str")) [ NormalArg (Literal (Float 50.14)) ])-       , NormalArg (Literal (String "50.14"))-       ])-, SoftBreak-, Code-    "test/typ/compute/construct-09.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (GreaterThan-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "len"))-                    (FuncCall-                       (Ident (Identifier "str"))-                       [ NormalArg (Divided (Literal (Int 10)) (Literal (Int 3))) ]))-                 [])-              (Literal (Int 10)))-       , NormalArg (Literal (Boolean True))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/construct-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/construct-11.out
@@ -1,63 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/construct-11.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/construct-11.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/construct-11.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compute/construct-11.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "assert"))-       [ NormalArg-           (Equals-              (FuncCall-                 (Ident (Identifier "range"))-                 [ NormalArg (Literal (Int 2)) , NormalArg (Literal (Int 5)) ])-              (Array-                 [ Reg (Literal (Int 2))-                 , Reg (Literal (Int 3))-                 , Reg (Literal (Int 4))-                 ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak() })
− test/out/compute/data-00.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/data-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/data-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/data-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/data-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "data")))-       (FuncCall-          (Ident (Identifier "read"))-          [ NormalArg (Literal (String "/assets/files/hello.txt")) ]))-, SoftBreak-, Code-    "test/typ/compute/data-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "data"))-       , NormalArg (Literal (String "Hello, world!"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/data-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/data-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/data-03.out
@@ -1,126 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/data-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/data-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/data-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/compute/data-03.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto) ])-, SoftBreak-, Code-    "test/typ/compute/data-03.typ"-    ( line 5 , column 2 )-    (Let-       (BasicBind (Just (Identifier "data")))-       (FuncCall-          (Ident (Identifier "csv"))-          [ NormalArg (Literal (String "/assets/files/zoo.csv")) ]))-, SoftBreak-, Code-    "test/typ/compute/data-03.typ"-    ( line 6 , column 2 )-    (Let-       (BasicBind (Just (Identifier "cells")))-       (Plus-          (FuncCall-             (FieldAccess-                (Ident (Identifier "map"))-                (FuncCall-                   (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "data")))-                   [ NormalArg (Literal (Int 0)) ]))-             [ NormalArg (Ident (Identifier "strong")) ])-          (FuncCall-             (FieldAccess-                (Ident (Identifier "flatten"))-                (FuncCall-                   (FieldAccess-                      (Ident (Identifier "slice")) (Ident (Identifier "data")))-                   [ NormalArg (Literal (Int 1)) ]))-             [])))-, SoftBreak-, Code-    "test/typ/compute/data-03.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg-           (Identifier "columns")-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "len"))-                 (FuncCall-                    (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "data")))-                    [ NormalArg (Literal (Int 0)) ]))-              [])-       , SpreadArg (Ident (Identifier "cells"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 table(children: (strong(body: [Name]), -                                  strong(body: [Species]), -                                  strong(body: [Weight]), -                                  strong(body: [Length]), -                                  [Debby], -                                  [Rhinoceros], -                                  [1900kg], -                                  [390cm], -                                  [Fluffy], -                                  [Tiger], -                                  [115kg], -                                  [310cm], -                                  [Sleepy], -                                  [Dolphin], -                                  [150kg], -                                  [180cm]), -                       columns: 4), -                 parbreak() })
− test/out/compute/data-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/data-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/data-06.out
@@ -1,106 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/data-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/data-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/data-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/data-06.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "data")))-       (FuncCall-          (Ident (Identifier "json"))-          [ NormalArg (Literal (String "/assets/files/zoo.json")) ]))-, SoftBreak-, Code-    "test/typ/compute/data-06.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "len")) (Ident (Identifier "data")))-              [])-       , NormalArg (Literal (Int 3))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-06.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "name"))-              (FuncCall-                 (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "data")))-                 [ NormalArg (Literal (Int 0)) ]))-       , NormalArg (Literal (String "Debby"))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-06.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "weight"))-              (FuncCall-                 (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "data")))-                 [ NormalArg (Literal (Int 2)) ]))-       , NormalArg (Literal (Int 150))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/data-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/data-08.out
@@ -1,202 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/data-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/data-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/data-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/data-08.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "data")))-       (FuncCall-          (Ident (Identifier "toml"))-          [ NormalArg (Literal (String "/assets/files/toml-types.toml"))-          ]))-, SoftBreak-, Code-    "test/typ/compute/data-08.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "string")) (Ident (Identifier "data")))-       , NormalArg (Literal (String "wonderful"))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-08.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "integer")) (Ident (Identifier "data")))-       , NormalArg (Literal (Int 42))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-08.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "float")) (Ident (Identifier "data")))-       , NormalArg (Literal (Float 3.14))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-08.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "boolean")) (Ident (Identifier "data")))-       , NormalArg (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-08.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "date_time")) (Ident (Identifier "data")))-       , NormalArg (Literal (String "2023-02-01T15:38:57Z"))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-08.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "array")) (Ident (Identifier "data")))-       , NormalArg-           (Array-              [ Reg (Literal (Int 1))-              , Reg (Literal (String "string"))-              , Reg (Literal (Float 3.0))-              , Reg (Literal (Boolean False))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/data-08.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "inline_table")) (Ident (Identifier "data")))-       , NormalArg-           (Dict-              [ Reg ( Literal (String "first") , Literal (String "amazing") )-              , Reg ( Literal (String "second") , Literal (String "greater") )-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/data-08.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "element"))-              (FieldAccess-                 (Ident (Identifier "table")) (Ident (Identifier "data"))))-       , NormalArg (Literal (Int 5))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-08.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "others"))-              (FieldAccess-                 (Ident (Identifier "table")) (Ident (Identifier "data"))))-       , NormalArg-           (Array-              [ Reg (Literal (Boolean False))-              , Reg (Literal (String "indeed"))-              , Reg (Literal (Int 7))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/data-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/data-10.out
@@ -1,209 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/data-10.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/data-10.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/data-10.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/data-10.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "data")))-       (FuncCall-          (Ident (Identifier "yaml"))-          [ NormalArg (Literal (String "/assets/files/yaml-types.yaml"))-          ]))-, SoftBreak-, Code-    "test/typ/compute/data-10.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "len")) (Ident (Identifier "data")))-              [])-       , NormalArg (Literal (Int 7))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-10.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "null_key")) (Ident (Identifier "data")))-       , NormalArg (Array [ Reg (Literal None) , Reg (Literal None) ])-       ])-, SoftBreak-, Code-    "test/typ/compute/data-10.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "string")) (Ident (Identifier "data")))-       , NormalArg (Literal (String "text"))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-10.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "integer")) (Ident (Identifier "data")))-       , NormalArg (Literal (Int 5))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-10.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "float")) (Ident (Identifier "data")))-       , NormalArg (Literal (Float 1.12))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-10.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "mapping")) (Ident (Identifier "data")))-       , NormalArg-           (Dict-              [ Reg ( Literal (String "1") , Literal (String "one") )-              , Reg ( Literal (String "2") , Literal (String "two") )-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/data-10.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "seq")) (Ident (Identifier "data")))-       , NormalArg-           (Array-              [ Reg (Literal (Int 1))-              , Reg (Literal (Int 2))-              , Reg (Literal (Int 3))-              , Reg (Literal (Int 4))-              ])-       ])-, SoftBreak-, Code-    "test/typ/compute/data-10.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FieldAccess-              (Ident (Identifier "bool")) (Ident (Identifier "data")))-       , NormalArg (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/compute/data-10.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "contains"))-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "keys")) (Ident (Identifier "data")))-                    []))-              [ NormalArg (Literal (String "true")) ])-       , NormalArg (Literal (Boolean False))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: [8]), -                 text(body: [ /= ]), -                 text(body: [7]), -                 text(body: [)]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: [true]), -                 text(body: [ /= ]), -                 text(body: [false]), -                 text(body: [)]), -                 parbreak() })
− test/out/compute/data-11.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/data-12.out
@@ -1,137 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/data-12.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/data-12.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/data-12.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/data-12.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "data")))-       (FuncCall-          (Ident (Identifier "xml"))-          [ NormalArg (Literal (String "/assets/files/data.xml")) ]))-, SoftBreak-, Code-    "test/typ/compute/data-12.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "data"))-       , NormalArg-           (Array-              [ Reg-                  (Dict-                     [ Reg ( Ident (Identifier "tag") , Literal (String "data") )-                     , Reg ( Ident (Identifier "attrs") , Dict [] )-                     , Reg-                         ( Ident (Identifier "children")-                         , Array-                             [ Reg (Literal (String "\n  "))-                             , Reg-                                 (Dict-                                    [ Reg ( Ident (Identifier "tag") , Literal (String "hello") )-                                    , Reg-                                        ( Ident (Identifier "attrs")-                                        , Dict-                                            [ Reg-                                                ( Ident (Identifier "name")-                                                , Literal (String "hi")-                                                )-                                            ]-                                        )-                                    , Reg-                                        ( Ident (Identifier "children")-                                        , Array [ Reg (Literal (String "1")) ]-                                        )-                                    ])-                             , Reg (Literal (String "\n  "))-                             , Reg-                                 (Dict-                                    [ Reg ( Ident (Identifier "tag") , Literal (String "data") )-                                    , Reg ( Ident (Identifier "attrs") , Dict [] )-                                    , Reg-                                        ( Ident (Identifier "children")-                                        , Array-                                            [ Reg (Literal (String "\n    "))-                                            , Reg-                                                (Dict-                                                   [ Reg-                                                       ( Ident (Identifier "tag")-                                                       , Literal (String "hello")-                                                       )-                                                   , Reg ( Ident (Identifier "attrs") , Dict [] )-                                                   , Reg-                                                       ( Ident (Identifier "children")-                                                       , Array [ Reg (Literal (String "World")) ]-                                                       )-                                                   ])-                                            , Reg (Literal (String "\n    "))-                                            , Reg-                                                (Dict-                                                   [ Reg-                                                       ( Ident (Identifier "tag")-                                                       , Literal (String "hello")-                                                       )-                                                   , Reg ( Ident (Identifier "attrs") , Dict [] )-                                                   , Reg-                                                       ( Ident (Identifier "children")-                                                       , Array [ Reg (Literal (String "World")) ]-                                                       )-                                                   ])-                                            , Reg (Literal (String "\n  "))-                                            ]-                                        )-                                    ])-                             , Reg (Literal (String "\n"))-                             ]-                         )-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/data-13.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-00.out
@@ -1,88 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/foundations-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/foundations-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/foundations-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compute/foundations-00.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type")) [ NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (String "integer"))-       ])-, SoftBreak-, Code-    "test/typ/compute/foundations-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg (Ident (Identifier "ltr")) ])-       , NormalArg (Literal (String "direction"))-       ])-, SoftBreak-, Code-    "test/typ/compute/foundations-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg (Divided (Literal (Int 10)) (Literal (Int 3))) ])-       , NormalArg (Literal (String "float"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/foundations-01.out
@@ -1,80 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/foundations-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/foundations-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/foundations-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compute/foundations-01.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "repr"))-              [ NormalArg (Ident (Identifier "ltr")) ])-       , NormalArg (Literal (String "ltr"))-       ])-, SoftBreak-, Code-    "test/typ/compute/foundations-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "repr"))-              [ NormalArg-                  (Array-                     [ Reg (Literal (Int 1))-                     , Reg (Literal (Int 2))-                     , Reg (Literal (Boolean False))-                     ])-              ])-       , NormalArg (Literal (String "(1, 2, false)"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/foundations-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-11.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-12.out
@@ -1,74 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/foundations-12.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/foundations-12.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/foundations-12.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/foundations-12.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "assert"))-       [ NormalArg (GreaterThan (Literal (Int 5)) (Literal (Int 3))) ])-, SoftBreak-, Code-    "test/typ/compute/foundations-12.typ"-    ( line 4 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "eq")) (Ident (Identifier "assert")))-       [ NormalArg (Literal (Int 15)) , NormalArg (Literal (Int 15)) ])-, SoftBreak-, Code-    "test/typ/compute/foundations-12.typ"-    ( line 5 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "ne")) (Ident (Identifier "assert")))-       [ NormalArg (Literal (Int 10)) , NormalArg (Literal (Int 12)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak() })
− test/out/compute/foundations-13.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/foundations-13.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/foundations-13.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/foundations-13.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/compute/foundations-13.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type")) [ NormalArg (Literal (Int 1)) ])-       , NormalArg (Literal (String "integer"))-       ])-, SoftBreak-, Code-    "test/typ/compute/foundations-13.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg (Ident (Identifier "ltr")) ])-       , NormalArg (Literal (String "direction"))-       ])-, SoftBreak-, Code-    "test/typ/compute/foundations-13.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg (Divided (Literal (Int 10)) (Literal (Int 3))) ])-       , NormalArg (Literal (String "float"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/compute/foundations-14.out
@@ -1,56 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/foundations-14.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/foundations-14.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/foundations-14.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compute/foundations-14.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "eval"))-       [ NormalArg-           (Plus (Literal (String "[_Hello")) (Literal (String " World!_]")))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 emph(body: text(body: [Hello World!])), -                 parbreak() })
− test/out/compute/foundations-15.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-16.out
@@ -1,84 +0,0 @@---- parse tree ----[ Code-    "test/typ/compute/foundations-16.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/compute/foundations-16.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/compute/foundations-16.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/compute/foundations-16.typ"-    ( line 2 , column 2 )-    (Show-       (Just (Ident (Identifier "raw")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (FuncCall-             (Ident (Identifier "text"))-             [ KeyValArg (Identifier "font") (Literal (String "PT Sans"))-             , NormalArg-                 (FuncCall-                    (Ident (Identifier "eval"))-                    [ NormalArg-                        (Plus-                           (Plus-                              (Literal (String "["))-                              (FieldAccess-                                 (Ident (Identifier "text")) (Ident (Identifier "it"))))-                           (Literal (String "]")))-                    ])-             ])))-, ParBreak-, Text "Interacting"-, SoftBreak-, RawBlock "" "#set text(blue)\nBlue #move(dy: -0.15em)[\127754]\n"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Interacting-]), -                 text(body: { text(body: [-Blue ], -                                   color: rgb(0%,45%,85%,100%)), -                              move(body: text(body: [🌊], -                                              color: rgb(0%,45%,85%,100%)), -                                   dy: -0.15em), -                              parbreak() }, -                      font: "PT Sans"), -                 parbreak() })
− test/out/compute/foundations-17.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-18.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-19.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-20.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-21.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/compute/foundations-22.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/align-00.out
@@ -1,165 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/align-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/align-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/align-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/align-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/align-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "left"))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "square"))-                     [ KeyValArg (Identifier "size") (Literal (Numeric 15.0 Pt))-                     , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-                     ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "center"))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "square"))-                     [ KeyValArg (Identifier "size") (Literal (Numeric 20.0 Pt))-                     , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-                     ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "right"))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "square"))-                     [ KeyValArg (Identifier "size") (Literal (Numeric 15.0 Pt))-                     , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-                     ])-              ])-       ])-, SoftBreak-, Code-    "test/typ/layout/align-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg-           (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-              , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-              ])-       ])-, SoftBreak-, Code-    "test/typ/layout/align-00.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "bottom"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "stack"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "align"))-                     [ NormalArg (Ident (Identifier "center"))-                     , NormalArg-                         (FuncCall-                            (Ident (Identifier "rect"))-                            [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-                            , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-                            ])-                     ])-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-                     , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-                     , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 stack(children: (align(alignment: left, -                                        body: square(fill: rgb(13%,61%,67%,100%), -                                                     size: 15.0pt)), -                                  align(alignment: center, -                                        body: square(fill: rgb(13%,61%,67%,100%), -                                                     size: 20.0pt)), -                                  align(alignment: right, -                                        body: square(fill: rgb(13%,61%,67%,100%), -                                                     size: 15.0pt))), -                       dir: ltr), -                 text(body: [-]), -                 align(alignment: Axes(center, horizon), -                       body: rect(fill: rgb(13%,61%,67%,100%), -                                  height: 10.0pt)), -                 text(body: [-]), -                 align(alignment: bottom, -                       body: stack(children: (align(alignment: center, -                                                    body: rect(fill: rgb(18%,80%,25%,100%), -                                                               height: 10.0pt)), -                                              rect(fill: rgb(100%,25%,21%,100%), -                                                   height: 10.0pt, -                                                   width: 100%)))), -                 parbreak() })
− test/out/layout/align-01.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/align-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/align-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/align-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/align-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center"))-       , BlockArg-           [ SoftBreak-           , Text "Lorem"-           , Space-           , Text "Ipsum"-           , ParBreak-           , Text "Dolor"-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 align(alignment: center, -                       body: { text(body: [-Lorem Ipsum]), -                               parbreak(), -                               text(body: [Dolor]), -                               parbreak() }), -                 parbreak() })
− test/out/layout/align-02.out
@@ -1,134 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/align-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/align-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/align-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/align-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "rotate"))-       [ NormalArg (Negated (Literal (Numeric 30.0 Deg)))-       , KeyValArg-           (Identifier "origin")-           (Plus (Ident (Identifier "end")) (Ident (Identifier "horizon")))-       , BlockArg [ Text "Hello" ]-       ])-, ParBreak-, Code-    "test/typ/layout/align-02.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "de")) ])-, SoftBreak-, Code-    "test/typ/layout/align-02.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "start"))-       , BlockArg [ Text "Start" ]-       ])-, SoftBreak-, Code-    "test/typ/layout/align-02.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "end"))-       , BlockArg [ Text "Ende" ]-       ])-, ParBreak-, Code-    "test/typ/layout/align-02.typ"-    ( line 9 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "ar")) ])-, SoftBreak-, Code-    "test/typ/layout/align-02.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "start"))-       , BlockArg [ Text "\1610\1576\1583\1571" ]-       ])-, SoftBreak-, Code-    "test/typ/layout/align-02.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "end"))-       , BlockArg [ Text "\1606\1607\1575\1610\1577" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 rotate(angle: -30.0deg, -                        body: text(body: [Hello]), -                        origin: Axes(end, horizon)), -                 parbreak(), -                 text(body: [-], lang: "de"), -                 align(alignment: start, -                       body: text(body: [Start], -                                  lang: "de")), -                 text(body: [-], lang: "de"), -                 align(alignment: end, -                       body: text(body: [Ende], -                                  lang: "de")), -                 parbreak(), -                 text(body: [-], lang: "ar"), -                 align(alignment: start, -                       body: text(body: [يبدأ], -                                  lang: "ar")), -                 text(body: [-], lang: "ar"), -                 align(alignment: end, -                       body: text(body: [نهاية], -                                  lang: "ar")), -                 parbreak() })
− test/out/layout/align-03.out
@@ -1,96 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/align-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/align-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/align-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/align-03.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg (Ident (Identifier "center")) ])-       , NormalArg (Literal (String "alignment"))-       ])-, SoftBreak-, Code-    "test/typ/layout/align-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg (Ident (Identifier "horizon")) ])-       , NormalArg (Literal (String "alignment"))-       ])-, SoftBreak-, Code-    "test/typ/layout/align-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "type"))-              [ NormalArg-                  (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-              ])-       , NormalArg (Literal (String "2d alignment"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [❌(]), -                 text(body: [alignment]), -                 text(body: [ /= ]), -                 text(body: ["2d alignment"]), -                 text(body: [)]), -                 parbreak() })
− test/out/layout/align-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/align-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/block-sizing-00.out
@@ -1,118 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/block-sizing-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/block-sizing-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/block-sizing-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/block-sizing-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/block-sizing-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center")) ])-, ParBreak-, Code-    "test/typ/layout/block-sizing-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 10)) ])-, SoftBreak-, Code-    "test/typ/layout/block-sizing-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Percent))-       , KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt))-       , KeyValArg (Identifier "fill") (Ident (Identifier "aqua"))-       ])-, SoftBreak-, Code-    "test/typ/layout/block-sizing-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 6)) ])-, SoftBreak-, Code-    "test/typ/layout/block-sizing-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "breakable") (Literal (Boolean False))-       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , KeyValArg (Identifier "inset") (Literal (Numeric 4.0 Pt))-       , KeyValArg (Identifier "fill") (Ident (Identifier "aqua"))-       , NormalArg-           (Plus-              (FuncCall-                 (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 8)) ])-              (FuncCall (Ident (Identifier "colbreak")) []))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do]), -                 text(body: [-]), -                 block(fill: rgb(49%,85%,100%,100%), -                       height: 60.0pt, -                       width: 80%), -                 text(body: [-]), -                 text(body: [Lorem ipsum dolor sit amet, consectetur]), -                 text(body: [-]), -                 block(body: { [Lorem ipsum dolor sit amet, consectetur adipiscing elit,], -                               colbreak() }, -                       breakable: false, -                       fill: rgb(49%,85%,100%,100%), -                       inset: 4.0pt, -                       width: 100%), -                 parbreak() })
− test/out/layout/block-sizing-01.out
@@ -1,112 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/block-sizing-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/block-sizing-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/block-sizing-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/layout/block-sizing-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 120.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/block-sizing-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 60.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "layout"))-              [ NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "size") ]-                     (Block-                        (Content-                           [ SoftBreak-                           , Text "This"-                           , Space-                           , Text "block"-                           , Space-                           , Text "has"-                           , Space-                           , Text "a"-                           , Space-                           , Text "width"-                           , Space-                           , Text "of"-                           , Space-                           , Code-                               "test/typ/layout/block-sizing-01.typ"-                               ( line 6 , column 30 )-                               (FieldAccess-                                  (Ident (Identifier "width")) (Ident (Identifier "size")))-                           , Space-                           , Text "and"-                           , Space-                           , Text "height"-                           , Space-                           , Text "of"-                           , Space-                           , Code-                               "test/typ/layout/block-sizing-01.typ"-                               ( line 6 , column 56 )-                               (FieldAccess-                                  (Ident (Identifier "height")) (Ident (Identifier "size")))-                           , ParBreak-                           ])))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 block(body: layout(func: ), -                       height: 80.0pt, -                       width: 60.0pt), -                 parbreak() })
− test/out/layout/block-spacing-00.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/block-spacing-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/block-spacing-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/block-spacing-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/block-spacing-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 10.0 Pt)) ])-, SoftBreak-, Text "Hello"-, ParBreak-, Text "There"-, ParBreak-, Code-    "test/typ/layout/block-spacing-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 20.0 Pt))-       , BlockArg [ Text "Further" , Space , Text "down" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Hello]), -                 parbreak(), -                 text(body: [There]), -                 parbreak(), -                 block(body: text(body: [Further down]), -                       spacing: 20.0pt), -                 parbreak() })
− test/out/layout/clip-00.out
@@ -1,125 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/clip-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/clip-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/clip-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Hello"-, Space-, Code-    "test/typ/layout/clip-00.typ"-    ( line 3 , column 8 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Em))-       , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))-       , KeyValArg (Identifier "clip") (Literal (Boolean False))-       , BlockArg-           [ Code-               "test/typ/layout/clip-00.typ"-               ( line 3 , column 51 )-               (FuncCall-                  (Ident (Identifier "rect"))-                  [ KeyValArg (Identifier "width") (Literal (Numeric 3.0 Em))-                  , KeyValArg (Identifier "height") (Literal (Numeric 3.0 Em))-                  , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-                  ])-           ]-       ])-, SoftBreak-, Text "world"-, Space-, Text "1"-, ParBreak-, Text "Space"-, ParBreak-, Text "Hello"-, Space-, Code-    "test/typ/layout/clip-00.typ"-    ( line 8 , column 8 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Em))-       , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))-       , KeyValArg (Identifier "clip") (Literal (Boolean True))-       , BlockArg-           [ Code-               "test/typ/layout/clip-00.typ"-               ( line 8 , column 50 )-               (FuncCall-                  (Ident (Identifier "rect"))-                  [ KeyValArg (Identifier "width") (Literal (Numeric 3.0 Em))-                  , KeyValArg (Identifier "height") (Literal (Numeric 3.0 Em))-                  , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-                  ])-           ]-       ])-, Space-, SoftBreak-, Text "world"-, Space-, Text "2"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Hello ]), -                 box(body: rect(fill: rgb(100%,25%,21%,100%), -                                height: 3.0em, -                                width: 3.0em), -                     clip: false, -                     height: 1.0em, -                     width: 1.0em), -                 text(body: [-world 1]), -                 parbreak(), -                 text(body: [Space]), -                 parbreak(), -                 text(body: [Hello ]), -                 box(body: rect(fill: rgb(100%,25%,21%,100%), -                                height: 3.0em, -                                width: 3.0em), -                     clip: true, -                     height: 1.0em, -                     width: 1.0em), -                 text(body: [ -world 2]), -                 parbreak() })
− test/out/layout/clip-01.out
@@ -1,151 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/clip-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/clip-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/clip-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/clip-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Em))-       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Em))-       , KeyValArg (Identifier "clip") (Literal (Boolean False))-       , KeyValArg-           (Identifier "stroke")-           (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "black")))-       , BlockArg-           [ SoftBreak-           , Text "But,"-           , Space-           , Text "soft!"-           , Space-           , Text "what"-           , Space-           , Text "light"-           , Space-           , Text "through"-           , Space-           , ParBreak-           ]-       ])-, ParBreak-, Code-    "test/typ/layout/clip-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 2.0 Em)) ])-, ParBreak-, Code-    "test/typ/layout/clip-01.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Em))-       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Em))-       , KeyValArg (Identifier "clip") (Literal (Boolean True))-       , KeyValArg-           (Identifier "stroke")-           (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "black")))-       , BlockArg-           [ SoftBreak-           , Text "But,"-           , Space-           , Text "soft!"-           , Space-           , Text "what"-           , Space-           , Text "light"-           , Space-           , Text "through"-           , Space-           , Text "yonder"-           , Space-           , Text "window"-           , Space-           , Text "breaks?"-           , Space-           , Text "It"-           , Space-           , Text "is"-           , Space-           , Text "the"-           , Space-           , Text "east,"-           , Space-           , Text "and"-           , Space-           , Text "Juliet"-           , SoftBreak-           , Text "is"-           , Space-           , Text "the"-           , Space-           , Text "sun"-           , Text "."-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 block(body: { text(body: [-But, soft! what light through ]), -                               parbreak() }, -                       clip: false, -                       height: 2.0em, -                       stroke: (thickness: 1.0pt,-                                color: rgb(0%,0%,0%,100%)), -                       width: 5.0em), -                 parbreak(), -                 v(amount: 2.0em), -                 parbreak(), -                 block(body: { text(body: [-But, soft! what light through yonder window breaks? It is the east, and Juliet-is the sun.]), -                               parbreak() }, -                       clip: true, -                       height: 2.0em, -                       stroke: (thickness: 1.0pt,-                                color: rgb(0%,0%,0%,100%)), -                       width: 5.0em), -                 parbreak() })
− test/out/layout/clip-02.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/clip-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/clip-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/clip-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Emoji"-, Text ":"-, Space-, Code-    "test/typ/layout/clip-02.typ"-    ( line 3 , column 9 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 0.5 Em))-       , KeyValArg-           (Identifier "stroke")-           (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "black")))-       , BlockArg-           [ Text "\128042,"-           , Space-           , Text "\127755,"-           , Space-           , Text "\127966"-           ]-       ])-, ParBreak-, Text "Emoji"-, Text ":"-, Space-, Code-    "test/typ/layout/clip-02.typ"-    ( line 5 , column 9 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 0.5 Em))-       , KeyValArg (Identifier "clip") (Literal (Boolean True))-       , KeyValArg-           (Identifier "stroke")-           (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "black")))-       , BlockArg-           [ Text "\128042,"-           , Space-           , Text "\127755,"-           , Space-           , Text "\127966"-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Emoji: ]), -                 box(body: text(body: [🐪, 🌋, 🏞]), -                     height: 0.5em, -                     stroke: (thickness: 1.0pt,-                              color: rgb(0%,0%,0%,100%))), -                 parbreak(), -                 text(body: [Emoji: ]), -                 box(body: text(body: [🐪, 🌋, 🏞]), -                     clip: true, -                     height: 0.5em, -                     stroke: (thickness: 1.0pt,-                              color: rgb(0%,0%,0%,100%))), -                 parbreak() })
− test/out/layout/clip-03.out
@@ -1,120 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/clip-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/clip-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/clip-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/layout/clip-03.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])-, ParBreak-, Text "First!"-, ParBreak-, Code-    "test/typ/layout/clip-03.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 4.0 Em))-       , KeyValArg (Identifier "clip") (Literal (Boolean True))-       , KeyValArg-           (Identifier "stroke")-           (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "black")))-       , BlockArg-           [ SoftBreak-           , Text "But,"-           , Space-           , Text "soft!"-           , Space-           , Text "what"-           , Space-           , Text "light"-           , Space-           , Text "through"-           , Space-           , Text "yonder"-           , Space-           , Text "window"-           , Space-           , Text "breaks?"-           , Space-           , Text "It"-           , Space-           , Text "is"-           , Space-           , Text "the"-           , Space-           , Text "east,"-           , Space-           , Text "and"-           , Space-           , Text "Juliet"-           , SoftBreak-           , Text "is"-           , Space-           , Text "the"-           , Space-           , Text "sun"-           , Text "."-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [First!]), -                 parbreak(), -                 block(body: { text(body: [-But, soft! what light through yonder window breaks? It is the east, and Juliet-is the sun.]), -                               parbreak() }, -                       clip: true, -                       height: 4.0em, -                       stroke: (thickness: 1.0pt,-                                color: rgb(0%,0%,0%,100%))), -                 parbreak() })
− test/out/layout/columns-00.out
@@ -1,177 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/columns-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/columns-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/columns-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/columns-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 3.25 Cm))-       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))-       , KeyValArg (Identifier "columns") (Literal (Int 2))-       ])-, SoftBreak-, Code-    "test/typ/layout/columns-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "ar"))-       , KeyValArg-           (Identifier "font")-           (Array-              [ Reg (Literal (String "Noto Sans Arabic"))-              , Reg (Literal (String "Linux Libertine"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/layout/columns-00.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "columns"))-       [ KeyValArg (Identifier "gutter") (Literal (Numeric 30.0 Pt)) ])-, ParBreak-, Code-    "test/typ/layout/columns-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       , KeyValArg (Identifier "height") (Literal (Numeric 8.0 Pt))-       , KeyValArg (Identifier "width") (Literal (Numeric 6.0 Pt))-       ])-, Space-, Text "\1608\1578\1581\1601\1610\1586"-, SoftBreak-, Text "\1575\1604\1593\1583\1610\1583"-, Space-, Text "\1605\1606"-, Space-, Text "\1575\1604\1578\1601\1575\1593\1604\1575\1578"-, Space-, Text "\1575\1604\1603\1610\1605\1610\1575\1574\1610\1577"-, Text "."-, Space-, Text "("-, Text "DNA)"-, Space-, Text "\1605\1606"-, Space-, Text "\1571\1607\1605"-, Space-, Text "\1575\1604\1571\1581\1605\1575\1590"-, Space-, Text "\1575\1604\1606\1608\1608\1610\1577"-, Space-, Text "\1575\1604\1578\1610"-, Space-, Text "\1578\1615\1588\1603\1616\1617\1604"-, SoftBreak-, Text "\1573\1604\1609"-, Space-, Text "\1580\1575\1606\1576"-, Space-, Text "\1603\1604"-, Space-, Text "\1605\1606"-, Space-, Text "\1575\1604\1576\1585\1608\1578\1610\1606\1575\1578"-, Space-, Text "\1608\1575\1604\1604\1610\1576\1610\1583\1575\1578"-, Space-, Text "\1608\1575\1604\1587\1603\1585\1610\1575\1578"-, Space-, Text "\1575\1604\1605\1578\1593\1583\1583\1577"-, SoftBreak-, Code-    "test/typ/layout/columns-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-       , KeyValArg (Identifier "height") (Literal (Numeric 8.0 Pt))-       , KeyValArg (Identifier "width") (Literal (Numeric 6.0 Pt))-       ])-, SoftBreak-, Text "\1575\1604\1580\1586\1610\1574\1575\1578"-, Space-, Text "\1575\1604\1590\1582\1605\1577"-, Space-, Text "\1575\1604\1571\1585\1576\1593\1577"-, Space-, Text "\1575\1604\1590\1585\1608\1585\1610\1577"-, Space-, Text "\1604\1604\1581\1610\1575\1577"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      font: ("Noto Sans Arabic", -                             "Linux Libertine"), -                      lang: "ar"), -                 parbreak(), -                 box(fill: rgb(18%,80%,25%,100%), -                     height: 8.0pt, -                     width: 6.0pt), -                 text(body: [ وتحفيز-العديد من التفاعلات الكيميائية. (DNA) من أهم الأحماض النووية التي تُشكِّل-إلى جانب كل من البروتينات والليبيدات والسكريات المتعددة-], -                      font: ("Noto Sans Arabic", -                             "Linux Libertine"), -                      lang: "ar"), -                 box(fill: rgb(13%,61%,67%,100%), -                     height: 8.0pt, -                     width: 6.0pt), -                 text(body: [-الجزيئات الضخمة الأربعة الضرورية للحياة.], -                      font: ("Noto Sans Arabic", -                             "Linux Libertine"), -                      lang: "ar"), -                 parbreak() })
− test/out/layout/columns-01.out
@@ -1,152 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/columns-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/columns-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/columns-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/columns-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto) ])-, ParBreak-, Code-    "test/typ/layout/columns-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt))-       , KeyValArg (Identifier "inset") (Literal (Numeric 8.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "columns"))-              [ NormalArg (Literal (Int 2))-              , NormalArg-                  (Block-                     (Content-                        [ SoftBreak-                        , Text "A"-                        , Space-                        , Text "special"-                        , Space-                        , Text "plight"-                        , Space-                        , Text "has"-                        , Space-                        , Text "befallen"-                        , Space-                        , Text "our"-                        , Space-                        , Text "document"-                        , Text "."-                        , SoftBreak-                        , Text "Columns"-                        , Space-                        , Text "in"-                        , Space-                        , Text "text"-                        , Space-                        , Text "boxes"-                        , Space-                        , Text "reigned"-                        , Space-                        , Text "down"-                        , Space-                        , Text "unto"-                        , Space-                        , Text "the"-                        , Space-                        , Text "soil"-                        , SoftBreak-                        , Text "to"-                        , Space-                        , Text "waste"-                        , Space-                        , Text "a"-                        , Space-                        , Text "year"-                        , Quote '\''-                        , Text "s"-                        , Space-                        , Text "crop"-                        , Space-                        , Text "of"-                        , Space-                        , Text "rich"-                        , Space-                        , Text "layouts"-                        , Text "."-                        , SoftBreak-                        , Text "The"-                        , Space-                        , Text "columns"-                        , Space-                        , Text "at"-                        , Space-                        , Text "least"-                        , Space-                        , Text "were"-                        , Space-                        , Text "graciously"-                        , Space-                        , Text "balanced"-                        , Text "."-                        , ParBreak-                        ]))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 rect(body: columns(body: { text(body: [-A special plight has befallen our document.-Columns in text boxes reigned down unto the soil-to waste a year’s crop of rich layouts.-The columns at least were graciously balanced.]), -                                            parbreak() }, -                                    count: 2), -                      height: 100.0pt, -                      inset: 8.0pt, -                      width: 180.0pt), -                 parbreak() })
− test/out/layout/columns-02.out
@@ -1,204 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/columns-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/columns-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/columns-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/columns-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 5.0 Cm))-       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))-       , KeyValArg (Identifier "columns") (Literal (Int 2))-       ])-, ParBreak-, Text "Lorem"-, Space-, Text "ipsum"-, Space-, Text "dolor"-, Space-, Text "sit"-, Space-, Text "amet"-, Space-, Text "is"-, Space-, Text "a"-, Space-, Text "common"-, Space-, Text "blind"-, Space-, Text "text"-, SoftBreak-, Text "and"-, Space-, Text "I"-, Space-, Text "again"-, Space-, Text "am"-, Space-, Text "in"-, Space-, Text "need"-, Space-, Text "of"-, Space-, Text "filling"-, Space-, Text "up"-, Space-, Text "this"-, Space-, Text "page"-, SoftBreak-, Code-    "test/typ/layout/columns-02.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "bottom"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 12.0 Pt))-              ])-       ])-, SoftBreak-, Code-    "test/typ/layout/columns-02.typ"-    ( line 8 , column 2 )-    (FuncCall (Ident (Identifier "colbreak")) [])-, ParBreak-, Text "so"-, Space-, Text "I"-, Quote '\''-, Text "m"-, Space-, Text "returning"-, Space-, Text "to"-, Space-, Text "this"-, Space-, Text "trusty"-, Space-, Text "tool"-, Space-, Text "of"-, Space-, Text "tangible"-, Space-, Text "terror"-, Text "."-, SoftBreak-, Text "Sure,"-, Space-, Text "it"-, Space-, Text "is"-, Space-, Text "not"-, Space-, Text "the"-, Space-, Text "most"-, Space-, Text "creative"-, Space-, Text "way"-, Space-, Text "of"-, Space-, Text "filling"-, Space-, Text "up"-, SoftBreak-, Text "a"-, Space-, Text "page"-, Space-, Text "for"-, Space-, Text "a"-, Space-, Text "test"-, Space-, Text "but"-, Space-, Text "it"-, Space-, Text "does"-, Space-, Text "get"-, Space-, Text "the"-, Space-, Text "job"-, Space-, Text "done"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Lorem ipsum dolor sit amet is a common blind text-and I again am in need of filling up this page-]), -                 align(alignment: bottom, -                       body: rect(fill: rgb(13%,61%,67%,100%), -                                  height: 12.0pt, -                                  width: 100%)), -                 text(body: [-]), -                 colbreak(), -                 parbreak(), -                 text(body: [so I’m returning to this trusty tool of tangible terror.-Sure, it is not the most creative way of filling up-a page for a test but it does get the job done.]), -                 parbreak() })
− test/out/layout/columns-03.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/columns-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/columns-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/columns-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/columns-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 2.5 Cm))-       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))-       ])-, ParBreak-, Code-    "test/typ/layout/columns-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 6.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "columns"))-              [ NormalArg (Literal (Int 2))-              , NormalArg-                  (Block-                     (Content-                        [ SoftBreak-                        , Text "ABC"-                        , Space-                        , HardBreak-                        , Text "BCD"-                        , SoftBreak-                        , Code-                            "test/typ/layout/columns-03.typ"-                            ( line 8 , column 6 )-                            (FuncCall (Ident (Identifier "colbreak")) [])-                        , SoftBreak-                        , Text "DEF"-                        , ParBreak-                        ]))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 rect(body: columns(body: { text(body: [-ABC ]), -                                            linebreak(), -                                            text(body: [BCD-]), -                                            colbreak(), -                                            text(body: [-DEF]), -                                            parbreak() }, -                                    count: 2), -                      inset: 6.0pt), -                 parbreak() })
− test/out/layout/columns-04.out
@@ -1,119 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/columns-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/columns-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/columns-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/columns-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 3.25 Cm))-       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))-       , KeyValArg (Identifier "columns") (Literal (Int 3))-       ])-, SoftBreak-, Code-    "test/typ/layout/columns-04.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "columns"))-       [ KeyValArg (Identifier "gutter") (Literal (Numeric 30.0 Pt)) ])-, ParBreak-, Code-    "test/typ/layout/columns-04.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , KeyValArg (Identifier "height") (Literal (Numeric 2.5 Cm))-       , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       ])-, Space-, Code-    "test/typ/layout/columns-04.typ"-    ( line 6 , column 49 )-    (FuncCall (Ident (Identifier "parbreak")) [])-, SoftBreak-, Code-    "test/typ/layout/columns-04.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))-       , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-       ])-, Space-, Code-    "test/typ/layout/columns-04.typ"-    ( line 7 , column 49 )-    (FuncCall (Ident (Identifier "parbreak")) [])-, SoftBreak-, Code-    "test/typ/layout/columns-04.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "circle"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern")) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 rect(fill: rgb(18%,80%,25%,100%), -                      height: 2.5cm, -                      width: 100%), -                 text(body: [ ]), -                 parbreak(), -                 text(body: [-]), -                 rect(fill: rgb(13%,61%,67%,100%), -                      height: 2.0cm, -                      width: 100%), -                 text(body: [ ]), -                 parbreak(), -                 text(body: [-]), -                 circle(fill: rgb(13%,61%,67%,100%)), -                 parbreak() })
− test/out/layout/columns-05.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/columns-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/columns-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/columns-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/columns-05.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 1.0 Cm))-       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))-       , KeyValArg (Identifier "columns") (Literal (Int 2))-       ])-, ParBreak-, Text "A"-, SoftBreak-, Code-    "test/typ/layout/columns-05.typ"-    ( line 6 , column 2 )-    (FuncCall (Ident (Identifier "colbreak")) [])-, SoftBreak-, Code-    "test/typ/layout/columns-05.typ"-    ( line 7 , column 2 )-    (FuncCall (Ident (Identifier "colbreak")) [])-, SoftBreak-, Text "B"-, SoftBreak-, Code-    "test/typ/layout/columns-05.typ"-    ( line 9 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, SoftBreak-, Text "C"-, SoftBreak-, Code-    "test/typ/layout/columns-05.typ"-    ( line 11 , column 2 )-    (FuncCall (Ident (Identifier "colbreak")) [])-, SoftBreak-, Text "D"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [A-]), -                 colbreak(), -                 text(body: [-]), -                 colbreak(), -                 text(body: [-B-]), -                 pagebreak(), -                 text(body: [-C-]), -                 colbreak(), -                 text(body: [-D]), -                 parbreak() })
− test/out/layout/columns-06.out
@@ -1,88 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/columns-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/columns-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/columns-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/columns-06.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))-       , KeyValArg (Identifier "columns") (Literal (Int 2))-       ])-, ParBreak-, Code-    "test/typ/layout/columns-06.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , KeyValArg (Identifier "inset") (Literal (Numeric 3.0 Pt))-       , BlockArg-           [ Text "So"-           , Space-           , Text "there"-           , Space-           , Text "isn"-           , Quote '\''-           , Text "t"-           , Space-           , Text "anything"-           , Space-           , Text "in"-           , Space-           , Text "the"-           , Space-           , Text "second"-           , Space-           , Text "column?"-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 rect(body: text(body: [So there isn’t anything in the second column?]), -                      inset: 3.0pt, -                      width: 100%), -                 parbreak() })
− test/out/layout/columns-07.out
@@ -1,65 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/columns-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/columns-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/columns-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/columns-07.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto)-       , KeyValArg (Identifier "columns") (Literal (Int 3))-       ])-, ParBreak-, Text "Arbitrary"-, Space-, Text "horizontal"-, Space-, Text "growth"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Arbitrary horizontal growth.]), -                 parbreak() })
− test/out/layout/columns-08.out
@@ -1,151 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/columns-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/columns-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/columns-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/columns-08.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))-       , KeyValArg (Identifier "columns") (Literal (Int 2))-       ])-, ParBreak-, Text "There"-, Space-, Text "can"-, Space-, Text "be"-, Space-, Text "as"-, Space-, Text "much"-, Space-, Text "content"-, Space-, Text "as"-, Space-, Text "you"-, Space-, Text "want"-, Space-, Text "in"-, Space-, Text "the"-, Space-, Text "left"-, Space-, Text "column"-, SoftBreak-, Text "and"-, Space-, Text "the"-, Space-, Text "document"-, Space-, Text "will"-, Space-, Text "grow"-, Space-, Text "with"-, Space-, Text "it"-, Text "."-, ParBreak-, Code-    "test/typ/layout/columns-08.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , KeyValArg (Identifier "height") (Literal (Numeric 30.0 Pt))-       ])-, ParBreak-, Text "Only"-, Space-, Text "an"-, Space-, Text "explicit"-, Space-, Code-    "test/typ/layout/columns-08.typ"-    ( line 10 , column 19 )-    (FuncCall (Ident (Identifier "colbreak")) [])-, Space-, RawInline "#colbreak()"-, Space-, Text "can"-, Space-, Text "put"-, Space-, Text "content"-, Space-, Text "in"-, Space-, Text "the"-, SoftBreak-, Text "second"-, Space-, Text "column"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [There can be as much content as you want in the left column-and the document will grow with it.]), -                 parbreak(), -                 rect(fill: rgb(18%,80%,25%,100%), -                      height: 30.0pt, -                      width: 100%), -                 parbreak(), -                 text(body: [Only an explicit ]), -                 colbreak(), -                 text(body: [ ]), -                 raw(block: false, -                     lang: none, -                     text: "#colbreak()"), -                 text(body: [ can put content in the-second column.]), -                 parbreak() })
− test/out/layout/columns-09.out
@@ -1,75 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/columns-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/columns-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/columns-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/columns-09.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal Auto)-       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))-       , KeyValArg (Identifier "columns") (Literal (Int 1))-       ])-, ParBreak-, Text "This"-, Space-, Text "is"-, Space-, Text "a"-, Space-, Text "normal"-, Space-, Text "page"-, Text "."-, Space-, Text "Very"-, Space-, Text "normal"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [This is a normal page. Very normal.]), -                 parbreak() })
− test/out/layout/columns-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/container-00.out
@@ -1,85 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/container-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/container-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/container-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Space-, Code-    "test/typ/layout/container-00.typ"-    ( line 3 , column 4 )-    (FuncCall-       (Ident (Identifier "box"))-       [ BlockArg [ Text "B" , Space , HardBreak , Text "C" ] ])-, Space-, Text "D"-, Text "."-, ParBreak-, Comment-, Text "Spaced"-, Space-, HardBreak-, Code-    "test/typ/layout/container-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 0.5 Cm)) ])-, Space-, HardBreak-, Text "Apart"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A ]), -                 box(body: { text(body: [B ]), -                             linebreak(), -                             text(body: [C]) }), -                 text(body: [ D.]), -                 parbreak(), -                 text(body: [Spaced ]), -                 linebreak(), -                 box(height: 0.5cm), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [Apart]), -                 parbreak() })
− test/out/layout/container-01.out
@@ -1,115 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/container-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/container-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/container-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/container-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 120.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/container-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 0.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/container-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 90.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt))-       , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , BlockArg-           [ SoftBreak-           , Code-               "test/typ/layout/container-01.typ"-               ( line 6 , column 4 )-               (FuncCall-                  (Ident (Identifier "block"))-                  [ KeyValArg (Identifier "width") (Literal (Numeric 60.0 Percent))-                  , KeyValArg (Identifier "height") (Literal (Numeric 60.0 Percent))-                  , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-                  ])-           , SoftBreak-           , Code-               "test/typ/layout/container-01.typ"-               ( line 7 , column 4 )-               (FuncCall-                  (Ident (Identifier "block"))-                  [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))-                  , KeyValArg (Identifier "height") (Literal (Numeric 60.0 Percent))-                  , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))-                  ])-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 block(body: { text(body: [-]), -                               block(fill: rgb(18%,80%,25%,100%), -                                     height: 60%, -                                     spacing: 0.0pt, -                                     width: 60%), -                               text(body: [-]), -                               block(fill: rgb(0%,45%,85%,100%), -                                     height: 60%, -                                     spacing: 0.0pt, -                                     width: 50%), -                               parbreak() }, -                       fill: rgb(100%,25%,21%,100%), -                       height: 80.0pt, -                       spacing: 0.0pt, -                       width: 90.0pt), -                 parbreak() })
− test/out/layout/container-02.out
@@ -1,92 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/container-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/container-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/container-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/container-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 50.0 Pt))-       , KeyValArg (Identifier "fill") (Ident (Identifier "yellow"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "path"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "purple"))-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 0.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 30.0 Pt))-                     , Reg (Literal (Numeric 30.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 30.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 30.0 Pt))-                     , Reg (Literal (Numeric 0.0 Pt))-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 box(body: path(fill: rgb(69%,5%,78%,100%), -                                vertices: ((0.0pt, 0.0pt), -                                           (30.0pt, -                                            30.0pt), -                                           (0.0pt, 30.0pt), -                                           (30.0pt, -                                            0.0pt))), -                     fill: rgb(100%,86%,0%,100%), -                     height: 50.0pt, -                     width: 50.0pt), -                 parbreak() })
− test/out/layout/container-03.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/container-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/container-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/container-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Hello"-, Space-, Code-    "test/typ/layout/container-03.typ"-    ( line 3 , column 8 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "height") (Literal (Numeric 0.7 Em))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              ])-       ])-, Space-, Text "World"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Hello ]), -                 box(body: rect(height: 0.7em, -                                width: 100%), -                     width: 1.0fr), -                 text(body: [ World]), -                 parbreak() })
− test/out/layout/container-04.out
@@ -1,111 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/container-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/container-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/container-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/layout/container-04.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])-, ParBreak-, Text "First!"-, ParBreak-, Code-    "test/typ/layout/container-04.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ BlockArg-           [ SoftBreak-           , Text "But,"-           , Space-           , Text "soft!"-           , Space-           , Text "what"-           , Space-           , Text "light"-           , Space-           , Text "through"-           , Space-           , Text "yonder"-           , Space-           , Text "window"-           , Space-           , Text "breaks?"-           , Space-           , Text "It"-           , Space-           , Text "is"-           , Space-           , Text "the"-           , Space-           , Text "east,"-           , Space-           , Text "and"-           , Space-           , Text "Juliet"-           , SoftBreak-           , Text "is"-           , Space-           , Text "the"-           , Space-           , Text "sun"-           , Text "."-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [First!]), -                 parbreak(), -                 block(body: { text(body: [-But, soft! what light through yonder window breaks? It is the east, and Juliet-is the sun.]), -                               parbreak() }), -                 parbreak() })
− test/out/layout/container-fill-00.out
@@ -1,138 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/container-fill-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/container-fill-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/container-fill-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/container-fill-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/container-fill-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "words")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "split"))-             (FuncCall-                (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 18)) ]))-          []))-, SoftBreak-, Code-    "test/typ/layout/container-fill-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 8.0 Pt))-       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , KeyValArg (Identifier "fill") (Ident (Identifier "aqua"))-       , KeyValArg-           (Identifier "stroke")-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "darken")) (Ident (Identifier "aqua")))-              [ NormalArg (Literal (Numeric 30.0 Percent)) ])-       , BlockArg-           [ SoftBreak-           , Code-               "test/typ/layout/container-fill-00.typ"-               ( line 5 , column 4 )-               (FuncCall-                  (FieldAccess-                     (Ident (Identifier "join"))-                     (FuncCall-                        (FieldAccess-                           (Ident (Identifier "slice")) (Ident (Identifier "words")))-                        [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 13)) ]))-                  [ NormalArg (Literal (String " ")) ])-           , SoftBreak-           , Code-               "test/typ/layout/container-fill-00.typ"-               ( line 6 , column 4 )-               (FuncCall-                  (Ident (Identifier "box"))-                  [ KeyValArg (Identifier "fill") (Ident (Identifier "teal"))-                  , KeyValArg (Identifier "outset") (Literal (Numeric 2.0 Pt))-                  , BlockArg [ Text "tempor" ]-                  ])-           , SoftBreak-           , Code-               "test/typ/layout/container-fill-00.typ"-               ( line 7 , column 4 )-               (FuncCall-                  (FieldAccess-                     (Ident (Identifier "join"))-                     (FuncCall-                        (FieldAccess-                           (Ident (Identifier "slice")) (Ident (Identifier "words")))-                        [ NormalArg (Literal (Int 13)) ]))-                  [ NormalArg (Literal (String " ")) ])-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 block(body: { text(body: [-]), -                               text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt]), -                               text(body: [-]), -                               box(body: text(body: [tempor]), -                                   fill: rgb(22%,80%,80%,100%), -                                   outset: 2.0pt), -                               text(body: [-]), -                               text(body: [ut labore et dolore magna]), -                               parbreak() }, -                       fill: rgb(49%,85%,100%,100%), -                       inset: 8.0pt, -                       stroke: rgb(34%,60%,70%,100%), -                       width: 100%), -                 parbreak() })
− test/out/layout/enum-00.out
@@ -1,59 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/enum-00.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "enum"))-       [ BlockArg [ Text "Embrace" ]-       , BlockArg [ Text "Extend" ]-       , BlockArg [ Text "Extinguish" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 enum(children: (text(body: [Embrace]), -                                 text(body: [Extend]), -                                 text(body: [Extinguish]))), -                 parbreak() })
− test/out/layout/enum-01.out
@@ -1,65 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, EnumListItem (Just 0) [ Text "Before" , Space , Text "first!" ]-, SoftBreak-, EnumListItem-    (Just 1)-    [ Text "First"-    , Text "."-    , SoftBreak-    , EnumListItem (Just 2) [ Text "Indented" , SoftBreak ]-    ]-, SoftBreak-, EnumListItem Nothing [ Text "Second" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 enum(children: (text(body: [Before first!]), -                                 { text(body: [First.-]), -                                   enum(children: (text(body: [Indented-])), -                                        start: 2) }, -                                 { text(body: [Second]), -                                   parbreak() }), -                      start: 0) })
− test/out/layout/enum-02.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/enum-02.typ"-    ( line 3 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range")) [ NormalArg (Literal (Int 5)) ])-       (Block-          (CodeBlock-             [ Block-                 (Content-                    [ EnumListItem-                        Nothing-                        [ Code-                            "test/typ/layout/enum-02.typ"-                            ( line 4 , column 8 )-                            (FuncCall-                               (Ident (Identifier "numbering"))-                               [ NormalArg (Literal (String "I"))-                               , NormalArg (Plus (Literal (Int 1)) (Ident (Identifier "i")))-                               ])-                        ]-                    ])-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 enum(children: (numbering(numbering: "I", -                                           numbers: (1)))), -                 enum(children: (numbering(numbering: "I", -                                           numbers: (2)))), -                 enum(children: (numbering(numbering: "I", -                                           numbers: (3)))), -                 enum(children: (numbering(numbering: "I", -                                           numbers: (4)))), -                 enum(children: (numbering(numbering: "I", -                                           numbers: (5)))), -                 parbreak() })
− test/out/layout/enum-03.out
@@ -1,56 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, BulletListItem [ Text "Bullet" , Space , Text "List" ]-, SoftBreak-, EnumListItem Nothing [ Text "Numbered" , Space , Text "List" ]-, SoftBreak-, DescListItem [ Text "Term" ] [ Text "List" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 list(children: (text(body: [Bullet List]))), -                 enum(children: (text(body: [Numbered List]))), -                 terms(children: ((text(body: [Term]), -                                   { text(body: [List]), -                                     parbreak() }))) })
− test/out/layout/enum-04.out
@@ -1,75 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "1"-, Text "."-, Text "2"-, Space-, HardBreak-, Text "This"-, Space-, Text "is"-, Space-, Text "0"-, Text "."-, Space-, HardBreak-, Text "See"-, Space-, Text "0"-, Text "."-, Text "3"-, Text "."-, Space-, HardBreak-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [1.2 ]), -                 linebreak(), -                 text(body: [This is 0. ]), -                 linebreak(), -                 text(body: [See 0.3. ]), -                 linebreak(), -                 parbreak() })
− test/out/layout/enum-05.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, EnumListItem Nothing []-, SoftBreak-, Text "Empty"-, Space-, HardBreak-, Text "+Nope"-, Space-, HardBreak-, Text "a"-, Space-, Text "+"-, Space-, Text "0"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 enum(children: ({  })), -                 text(body: [Empty ]), -                 linebreak(), -                 text(body: [+Nope ]), -                 linebreak(), -                 text(body: [a + 0.]), -                 parbreak() })
− test/out/layout/enum-06.out
@@ -1,81 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, EnumListItem (Just 1) [ Text "first" ]-, SoftBreak-, EnumListItem Nothing [ Text "second" ]-, SoftBreak-, EnumListItem (Just 5) [ Text "fifth" , SoftBreak ]-, SoftBreak-, Code-    "test/typ/layout/enum-06.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "enum"))-       [ NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "item")) (Ident (Identifier "enum")))-              [ NormalArg (Literal (Int 1)) , BlockArg [ Text "First" ] ])-       , NormalArg (Block (Content [ Text "Second" ]))-       , NormalArg-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "item")) (Ident (Identifier "enum")))-              [ NormalArg (Literal (Int 5)) , BlockArg [ Text "Fifth" ] ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 enum(children: (text(body: [first]), -                                 text(body: [second]), -                                 text(body: [fifth-])), -                      start: 1), -                 enum(children: (enum.item(body: text(body: [First]), -                                           number: 1), -                                 text(body: [Second]), -                                 enum.item(body: text(body: [Fifth]), -                                           number: 5))), -                 parbreak() })
− test/out/layout/enum-align-00.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-align-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-align-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-align-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/enum-align-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "horizon")) ])-, ParBreak-, EnumListItem-    Nothing-    [ Text "ABCDEF"-    , HardBreak-    , Text "GHIJKL"-    , HardBreak-    , Text "MNOPQR"-    , SoftBreak-    , EnumListItem-        Nothing-        [ Text "INNER"-        , HardBreak-        , Text "INNER"-        , HardBreak-        , Text "INNER"-        ]-    ]-, SoftBreak-, EnumListItem-    Nothing [ Text "BACK" , HardBreak , Text "HERE" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 enum(children: ({ text(body: [ABCDEF]), -                                   linebreak(), -                                   text(body: [GHIJKL]), -                                   linebreak(), -                                   text(body: [MNOPQR-]), -                                   enum(children: ({ text(body: [INNER]), -                                                     linebreak(), -                                                     text(body: [INNER]), -                                                     linebreak(), -                                                     text(body: [INNER]) })) }, -                                 { text(body: [BACK]), -                                   linebreak(), -                                   text(body: [HERE]), -                                   parbreak() })) })
− test/out/layout/enum-align-01.out
@@ -1,79 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-align-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-align-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-align-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, EnumListItem (Just 1) [ Text "a" ]-, SoftBreak-, EnumListItem (Just 10) [ Text "b" ]-, SoftBreak-, EnumListItem (Just 100) [ Text "c" , SoftBreak ]-, SoftBreak-, Code-    "test/typ/layout/enum-align-01.typ"-    ( line 7 , column 2 )-    (Set-       (Ident (Identifier "enum"))-       [ KeyValArg-           (Identifier "number-align") (Ident (Identifier "start"))-       ])-, SoftBreak-, EnumListItem (Just 1) [ Space , Text "a" ]-, SoftBreak-, EnumListItem (Just 8) [ Space , Text "b" ]-, SoftBreak-, EnumListItem (Just 16) [ Text "c" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 enum(children: (text(body: [a]), -                                 text(body: [b]), -                                 text(body: [c-])), -                      start: 1), -                 text(body: [-]), -                 enum(children: (text(body: [ a]), -                                 text(body: [ b]), -                                 { text(body: [c]), -                                   parbreak() }), -                      number-align: start, -                      start: 1) })
− test/out/layout/enum-align-02.out
@@ -1,97 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-align-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-align-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-align-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/enum-align-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center")) ])-, SoftBreak-, Code-    "test/typ/layout/enum-align-02.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "enum"))-       [ KeyValArg-           (Identifier "number-align") (Ident (Identifier "start"))-       ])-, ParBreak-, EnumListItem (Just 4) [ Space , Text "c" ]-, SoftBreak-, EnumListItem (Just 8) [ Space , Text "d" ]-, SoftBreak-, EnumListItem-    (Just 16)-    [ Text "e"-    , HardBreak-    , Text "f"-    , SoftBreak-    , EnumListItem (Just 2) [ Space , Text "f" , HardBreak , Text "g" ]-    , SoftBreak-    , EnumListItem (Just 32) [ Text "g" ]-    , SoftBreak-    , EnumListItem (Just 64) [ Text "h" , ParBreak ]-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 enum(children: (text(body: [ c]), -                                 text(body: [ d]), -                                 { text(body: [e]), -                                   linebreak(), -                                   text(body: [f-]), -                                   enum(children: ({ text(body: [ f]), -                                                     linebreak(), -                                                     text(body: [g]) }, -                                                   text(body: [g]), -                                                   { text(body: [h]), -                                                     parbreak() }), -                                        number-align: start, -                                        start: 2) }), -                      number-align: start, -                      start: 4) })
− test/out/layout/enum-align-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/enum-numbering-00.out
@@ -1,83 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-numbering-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-numbering-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-numbering-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/enum-numbering-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "enum"))-       [ KeyValArg (Identifier "numbering") (Literal (String "(1.a.*)"))-       ])-, SoftBreak-, EnumListItem Nothing [ Text "First" ]-, SoftBreak-, EnumListItem-    Nothing-    [ Text "Second"-    , SoftBreak-    , EnumListItem-        (Just 2)-        [ Text "Nested"-        , SoftBreak-        , EnumListItem Nothing [ Text "Deep" ]-        ]-    ]-, SoftBreak-, EnumListItem Nothing [ Text "Normal" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 enum(children: (text(body: [First]), -                                 { text(body: [Second-]), -                                   enum(children: ({ text(body: [Nested-]), -                                                     enum(children: (text(body: [Deep])), -                                                          numbering: "(1.a.*)") }), -                                        numbering: "(1.a.*)", -                                        start: 2) }, -                                 { text(body: [Normal]), -                                   parbreak() }), -                      numbering: "(1.a.*)") })
− test/out/layout/enum-numbering-01.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-numbering-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-numbering-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-numbering-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/enum-numbering-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "enum"))-       [ KeyValArg (Identifier "numbering") (Literal (String "1.a."))-       , KeyValArg (Identifier "full") (Literal (Boolean True))-       ])-, SoftBreak-, EnumListItem-    Nothing-    [ Text "First"-    , SoftBreak-    , EnumListItem Nothing [ Text "Nested" , ParBreak ]-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 enum(children: ({ text(body: [First-]), -                                   enum(children: ({ text(body: [Nested]), -                                                     parbreak() }), -                                        full: true, -                                        numbering: "1.a.") }), -                      full: true, -                      numbering: "1.a.") })
− test/out/layout/enum-numbering-02.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-numbering-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-numbering-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-numbering-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/enum-numbering-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "enum"))-       [ KeyValArg (Identifier "start") (Literal (Int 3))-       , KeyValArg-           (Identifier "spacing")-           (Minus (Literal (Numeric 0.65 Em)) (Literal (Numeric 3.0 Pt)))-       , KeyValArg (Identifier "tight") (Literal (Boolean False))-       , KeyValArg-           (Identifier "numbering")-           (FuncExpr-              [ NormalParam (Identifier "n") ]-              (FuncCall-                 (Ident (Identifier "text"))-                 [ KeyValArg-                     (Identifier "fill")-                     (FuncCall-                        (FieldAccess-                           (Ident (Identifier "at"))-                           (Array-                              [ Reg (Ident (Identifier "red"))-                              , Reg (Ident (Identifier "green"))-                              , Reg (Ident (Identifier "blue"))-                              ]))-                        [ NormalArg-                            (FuncCall-                               (FieldAccess-                                  (Ident (Identifier "rem")) (Ident (Identifier "calc")))-                               [ NormalArg (Ident (Identifier "n"))-                               , NormalArg (Literal (Int 3))-                               ])-                        ])-                 , NormalArg-                     (FuncCall-                        (Ident (Identifier "numbering"))-                        [ NormalArg (Literal (String "A"))-                        , NormalArg (Ident (Identifier "n"))-                        ])-                 ]))-       , NormalArg (Block (Content [ Text "Red" ]))-       , NormalArg (Block (Content [ Text "Green" ]))-       , NormalArg (Block (Content [ Text "Blue" ]))-       , NormalArg (Block (Content [ Text "Red" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 enum(children: (text(body: [Red]), -                                 text(body: [Green]), -                                 text(body: [Blue]), -                                 text(body: [Red])), -                      numbering: , -                      spacing: 0.65em + -3.0pt, -                      start: 3, -                      tight: false), -                 parbreak() })
− test/out/layout/enum-numbering-03.out
@@ -1,80 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-numbering-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-numbering-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-numbering-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/enum-numbering-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "enum"))-       [ KeyValArg-           (Identifier "numbering")-           (FuncExpr-              [ NormalParam (Identifier "n") ]-              (FuncCall-                 (Ident (Identifier "super"))-                 [ BlockArg-                     [ Code-                         "test/typ/layout/enum-numbering-03.typ"-                         ( line 3 , column 34 )-                         (Ident (Identifier "n"))-                     ]-                 ]))-       ])-, SoftBreak-, EnumListItem-    Nothing-    [ Text "A" , SoftBreak , EnumListItem Nothing [ Text "B" ] ]-, SoftBreak-, EnumListItem Nothing [ Text "C" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 enum(children: ({ text(body: [A-]), -                                   enum(children: (text(body: [B])), -                                        numbering: ) }, -                                 { text(body: [C]), -                                   parbreak() }), -                      numbering: ) })
− test/out/layout/enum-numbering-04.out
@@ -1,117 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/enum-numbering-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/enum-numbering-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/enum-numbering-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/enum-numbering-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font") (Literal (String "New Computer Modern"))-       ])-, SoftBreak-, Code-    "test/typ/layout/enum-numbering-04.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "enum"))-       [ KeyValArg-           (Identifier "numbering")-           (FuncExpr-              [ SinkParam (Just (Identifier "args")) ]-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "mat")) (Ident (Identifier "math")))-                 [ NormalArg-                     (FuncCall-                        (FieldAccess-                           (Ident (Identifier "pos")) (Ident (Identifier "args")))-                        [])-                 ]))-       , KeyValArg (Identifier "full") (Literal (Boolean True))-       ])-, SoftBreak-, EnumListItem-    Nothing-    [ Text "A"-    , SoftBreak-    , EnumListItem Nothing [ Text "B" ]-    , SoftBreak-    , EnumListItem-        Nothing-        [ Text "C" , SoftBreak , EnumListItem Nothing [ Text "D" ] ]-    ]-, SoftBreak-, EnumListItem Nothing [ Text "E" ]-, SoftBreak-, EnumListItem Nothing [ Text "F" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      font: "New Computer Modern"), -                 text(body: [-], -                      font: "New Computer Modern"), -                 enum(children: ({ text(body: [A-], -                                        font: "New Computer Modern"), -                                   enum(children: (text(body: [B], -                                                        font: "New Computer Modern"), -                                                   { text(body: [C-], -                                                          font: "New Computer Modern"), -                                                     enum(children: (text(body: [D], -                                                                          font: "New Computer Modern")), -                                                          full: true, -                                                          numbering: ) }), -                                        full: true, -                                        numbering: ) }, -                                 text(body: [E], -                                      font: "New Computer Modern"), -                                 { text(body: [F], -                                        font: "New Computer Modern"), -                                   parbreak() }), -                      full: true, -                      numbering: ) })
− test/out/layout/enum-numbering-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/enum-numbering-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/flow-orphan-00.out
@@ -1,84 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/flow-orphan-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/flow-orphan-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/flow-orphan-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/flow-orphan-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/flow-orphan-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 12)) ])-, ParBreak-, Heading 1 [ Text "Introduction" ]-, Text "This"-, Space-, Text "is"-, Space-, Text "the"-, Space-, Text "start"-, Space-, Text "and"-, Space-, Text "it"-, Space-, Text "goes"-, Space-, Text "on"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor]), -                 parbreak(), -                 heading(body: text(body: [Introduction]), -                         level: 1), -                 text(body: [This is the start and it goes on.]), -                 parbreak() })
− test/out/layout/flow-orphan-01.out
@@ -1,152 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/flow-orphan-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/flow-orphan-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ NormalArg (Literal (String "a8"))-       , KeyValArg (Identifier "height") (Literal (Numeric 140.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "weight") (Literal (Int 700)) ])-, ParBreak-, Comment-, Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 6 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Ident (Identifier "blue")) ])-, SoftBreak-, Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 27)) ])-, ParBreak-, Comment-, Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])-, ParBreak-, Comment-, Comment-, Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 14 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Ident (Identifier "maroon")) ])-, SoftBreak-, Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 11)) ])-, ParBreak-, Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 13)) ])-, ParBreak-, Comment-, Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 20 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Ident (Identifier "olive")) ])-, SoftBreak-, Code-    "test/typ/layout/flow-orphan-01.typ"-    ( line 21 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 10)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [-], -                      color: rgb(0%,45%,85%,100%), -                      weight: 700), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation], -                      color: rgb(0%,45%,85%,100%), -                      weight: 700), -                 parbreak(), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut], -                      color: rgb(0%,45%,85%,100%), -                      weight: 700), -                 parbreak(), -                 text(body: [-], -                      color: rgb(52%,7%,29%,100%), -                      weight: 700), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod], -                      color: rgb(52%,7%,29%,100%), -                      weight: 700), -                 parbreak(), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt], -                      color: rgb(52%,7%,29%,100%), -                      weight: 700), -                 parbreak(), -                 text(body: [-], -                      color: rgb(23%,60%,43%,100%), -                      weight: 700), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do], -                      color: rgb(23%,60%,43%,100%), -                      weight: 700), -                 parbreak() })
− test/out/layout/grid-1-00.out
@@ -1,230 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-1-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-1-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-1-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/grid-1-00.typ"-    ( line 2 , column 2 )-    (LetFunc-       (Identifier "cell")-       [ NormalParam (Identifier "width")-       , NormalParam (Identifier "color")-       ]-       (FuncCall-          (Ident (Identifier "rect"))-          [ KeyValArg (Identifier "width") (Ident (Identifier "width"))-          , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))-          , KeyValArg (Identifier "fill") (Ident (Identifier "color"))-          ]))-, SoftBreak-, Code-    "test/typ/layout/grid-1-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 140.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/layout/grid-1-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Array-              [ Reg (Literal Auto)-              , Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 3.0 Fr))-              , Reg (Literal (Numeric 0.25 Cm))-              , Reg (Literal (Numeric 3.0 Percent))-              , Reg-                  (Plus (Literal (Numeric 2.0 Mm)) (Literal (Numeric 10.0 Percent)))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 0.5 Cm))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "2a631a")) ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 100.0 Percent))-              , NormalArg (Ident (Identifier "red"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 100.0 Percent))-              , NormalArg (Ident (Identifier "green"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 100.0 Percent))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "ff0000")) ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 100.0 Percent))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "00ff00")) ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 80.0 Percent))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "00faf0")) ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 1.0 Cm))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "00ff00")) ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 0.5 Cm))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "2a631a")) ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 100.0 Percent))-              , NormalArg (Ident (Identifier "red"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 100.0 Percent))-              , NormalArg (Ident (Identifier "green"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 100.0 Percent))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "ff0000")) ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "cell"))-              [ NormalArg (Literal (Numeric 100.0 Percent))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "00ff00")) ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 grid(children: (rect(fill: rgb(16%,38%,10%,100%), -                                      height: 2.0cm, -                                      width: 0.5cm), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      height: 2.0cm, -                                      width: 100%), -                                 rect(fill: rgb(18%,80%,25%,100%), -                                      height: 2.0cm, -                                      width: 100%), -                                 rect(fill: rgb(100%,0%,0%,100%), -                                      height: 2.0cm, -                                      width: 100%), -                                 rect(fill: rgb(0%,100%,0%,100%), -                                      height: 2.0cm, -                                      width: 100%), -                                 rect(fill: rgb(0%,98%,94%,100%), -                                      height: 2.0cm, -                                      width: 80%), -                                 rect(fill: rgb(0%,100%,0%,100%), -                                      height: 2.0cm, -                                      width: 1.0cm), -                                 rect(fill: rgb(16%,38%,10%,100%), -                                      height: 2.0cm, -                                      width: 0.5cm), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      height: 2.0cm, -                                      width: 100%), -                                 rect(fill: rgb(18%,80%,25%,100%), -                                      height: 2.0cm, -                                      width: 100%), -                                 rect(fill: rgb(100%,0%,0%,100%), -                                      height: 2.0cm, -                                      width: 100%), -                                 rect(fill: rgb(0%,100%,0%,100%), -                                      height: 2.0cm, -                                      width: 100%)), -                      columns: (auto, -                                1.0fr, -                                3.0fr, -                                0.25cm, -                                3%, -                                2.0mm + 10%)), -                 parbreak() })
− test/out/layout/grid-1-01.out
@@ -1,106 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-1-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-1-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-1-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/grid-1-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/grid-1-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Array-              [ Reg (Literal Auto)-              , Reg (Literal Auto)-              , Reg (Literal (Numeric 40.0 Percent))-              ])-       , KeyValArg (Identifier "column-gutter") (Literal (Numeric 1.0 Fr))-       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-              , BlockArg-                  [ Text "dddaa" , Space , Text "aaa" , Space , Text "aaa" ]-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-              , BlockArg [ Text "ccc" ]-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg-                  (Identifier "fill")-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "dddddd")) ])-              , BlockArg [ Text "aaa" ]-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: (rect(body: text(body: [dddaa aaa aaa]), -                                      fill: rgb(13%,61%,67%,100%), -                                      inset: 0.0pt), -                                 rect(body: text(body: [ccc]), -                                      fill: rgb(18%,80%,25%,100%), -                                      inset: 0.0pt), -                                 rect(body: text(body: [aaa]), -                                      fill: rgb(86%,86%,86%,100%), -                                      inset: 0.0pt)), -                      column-gutter: 1.0fr, -                      columns: (auto, auto, 40%), -                      row-gutter: 1.0fr), -                 parbreak() })
− test/out/layout/grid-1-02.out
@@ -1,99 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-1-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-1-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-1-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/grid-1-02.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 3.0 Cm))-       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/layout/grid-1-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns") (Array [ Reg (Literal (Numeric 1.0 Fr)) ])-       , KeyValArg-           (Identifier "rows")-           (Array-              [ Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal Auto)-              , Reg (Literal (Numeric 2.0 Fr))-              ])-       , NormalArg (Block (Content []))-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "center"))-              , BlockArg-                  [ Text "A"-                  , Space-                  , Text "bit"-                  , Space-                  , Text "more"-                  , Space-                  , Text "to"-                  , Space-                  , Text "the"-                  , Space-                  , Text "top"-                  ]-              ])-       , NormalArg (Block (Content []))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: ({  }, -                                 align(alignment: center, -                                       body: text(body: [A bit more to the top])), -                                 {  }), -                      columns: (1.0fr), -                      rows: (1.0fr, auto, 2.0fr)), -                 parbreak() })
− test/out/layout/grid-2-00.out
@@ -1,165 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-2-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-2-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-2-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/grid-2-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 11.0 Cm))-       , KeyValArg (Identifier "height") (Literal (Numeric 2.5 Cm))-       ])-, SoftBreak-, Code-    "test/typ/layout/grid-2-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg (Identifier "columns") (Literal (Int 5))-       , KeyValArg-           (Identifier "column-gutter")-           (Array-              [ Reg (Literal (Numeric 2.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              ])-       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 6.0 Pt))-       , NormalArg (Block (Content [ Strong [ Text "Quarter" ] ]))-       , NormalArg (Block (Content [ Text "Expenditure" ]))-       , NormalArg-           (Block (Content [ Text "External" , Space , Text "Revenue" ]))-       , NormalArg-           (Block (Content [ Text "Financial" , Space , Text "ROI" ]))-       , NormalArg (Block (Content [ Emph [ Text "total" ] ]))-       , NormalArg (Block (Content [ Strong [ Text "Q1" ] ]))-       , NormalArg-           (Block-              (Content-                 [ Text "173,472" , Text "." , Text "57" , Space , Text "$" ]))-       , NormalArg-           (Block-              (Content-                 [ Text "472,860" , Text "." , Text "91" , Space , Text "$" ]))-       , NormalArg-           (Block-              (Content-                 [ Text "51,286" , Text "." , Text "84" , Space , Text "$" ]))-       , NormalArg-           (Block-              (Content-                 [ Emph [ Text "350,675" , Text "." , Text "18" , Space , Text "$" ]-                 ]))-       , NormalArg (Block (Content [ Strong [ Text "Q2" ] ]))-       , NormalArg-           (Block-              (Content-                 [ Text "93,382" , Text "." , Text "12" , Space , Text "$" ]))-       , NormalArg-           (Block-              (Content-                 [ Text "439,382" , Text "." , Text "85" , Space , Text "$" ]))-       , NormalArg-           (Block-              (Content-                 [ Text "-"-                 , Text "1,134"-                 , Text "."-                 , Text "30"-                 , Space-                 , Text "$"-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Emph [ Text "344,866" , Text "." , Text "43" , Space , Text "$" ]-                 ]))-       , NormalArg (Block (Content [ Strong [ Text "Q3" ] ]))-       , NormalArg-           (Block-              (Content-                 [ Text "96,421" , Text "." , Text "49" , Space , Text "$" ]))-       , NormalArg-           (Block-              (Content-                 [ Text "238,583" , Text "." , Text "54" , Space , Text "$" ]))-       , NormalArg-           (Block-              (Content-                 [ Text "3,497" , Text "." , Text "12" , Space , Text "$" ]))-       , NormalArg-           (Block-              (Content-                 [ Emph [ Text "145,659" , Text "." , Text "17" , Space , Text "$" ]-                 ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: (strong(body: text(body: [Quarter])), -                                 text(body: [Expenditure]), -                                 text(body: [External Revenue]), -                                 text(body: [Financial ROI]), -                                 emph(body: text(body: [total])), -                                 strong(body: text(body: [Q1])), -                                 text(body: [173,472.57 $]), -                                 text(body: [472,860.91 $]), -                                 text(body: [51,286.84 $]), -                                 emph(body: text(body: [350,675.18 $])), -                                 strong(body: text(body: [Q2])), -                                 text(body: [93,382.12 $]), -                                 text(body: [439,382.85 $]), -                                 text(body: [-1,134.30 $]), -                                 emph(body: text(body: [344,866.43 $])), -                                 strong(body: text(body: [Q3])), -                                 text(body: [96,421.49 $]), -                                 text(body: [238,583.54 $]), -                                 text(body: [3,497.12 $]), -                                 emph(body: text(body: [145,659.17 $]))), -                      column-gutter: (2.0fr, -                                      1.0fr, -                                      1.0fr), -                      columns: 5, -                      row-gutter: 6.0pt), -                 parbreak() })
− test/out/layout/grid-3-00.out
@@ -1,130 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-3-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-3-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-3-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/grid-3-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Cm))-       , KeyValArg (Identifier "height") (Literal (Numeric 3.0 Cm))-       ])-, SoftBreak-, Code-    "test/typ/layout/grid-3-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg (Identifier "columns") (Literal (Int 2))-       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 8.0 Pt))-       , NormalArg-           (Block-              (Content-                 [ Text "Lorem"-                 , Space-                 , Text "ipsum"-                 , Space-                 , Text "dolor"-                 , Space-                 , Text "sit"-                 , Space-                 , Text "amet"-                 , Text "."-                 , ParBreak-                 , Text "Aenean"-                 , Space-                 , Text "commodo"-                 , Space-                 , Text "ligula"-                 , Space-                 , Text "eget"-                 , Space-                 , Text "dolor"-                 , Text "."-                 , Space-                 , Text "Aenean"-                 , Space-                 , Text "massa"-                 , Text "."-                 , Space-                 , Text "Penatibus"-                 , Space-                 , Text "et"-                 , Space-                 , Text "magnis"-                 , Text "."-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Text "Text"-                 , Space-                 , Text "that"-                 , Space-                 , Text "is"-                 , Space-                 , Text "rather"-                 , Space-                 , Text "short"-                 ]))-       , NormalArg (Block (Content [ Text "Fireflies" ]))-       , NormalArg (Block (Content [ Text "Critical" ]))-       , NormalArg (Block (Content [ Text "Decorum" ]))-       , NormalArg (Block (Content [ Text "Rampage" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: ({ text(body: [Lorem ipsum dolor sit amet.]), -                                   parbreak(), -                                   text(body: [Aenean commodo ligula eget dolor. Aenean massa. Penatibus et magnis.]) }, -                                 text(body: [Text that is rather short]), -                                 text(body: [Fireflies]), -                                 text(body: [Critical]), -                                 text(body: [Decorum]), -                                 text(body: [Rampage])), -                      columns: 2, -                      row-gutter: 8.0pt), -                 parbreak() })
− test/out/layout/grid-3-01.out
@@ -1,136 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-3-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-3-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-3-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/grid-3-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Cm))-       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))-       ])-, SoftBreak-, Code-    "test/typ/layout/grid-3-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Times-              (Literal (Int 4)) (Array [ Reg (Literal (Numeric 1.0 Fr)) ]))-       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 10.0 Pt))-       , KeyValArg-           (Identifier "column-gutter")-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 10.0 Percent))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "top"))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "image"))-                     [ NormalArg (Literal (String "/assets/files/rhino.png")) ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "top"))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))-                     , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-                     , NormalArg-                         (FuncCall-                            (Ident (Identifier "align"))-                            [ NormalArg (Ident (Identifier "right"))-                            , BlockArg [ Text "LoL" ]-                            ])-                     ])-              ])-       , NormalArg (Block (Content [ Text "rofl" ]))-       , NormalArg-           (Times-              (Block (Content [ HardBreak , Text "A" ])) (Literal (Int 3)))-       , NormalArg-           (Times-              (Block (Content [ Text "Ha!" , HardBreak ])) (Literal (Int 3)))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: (align(alignment: top, -                                       body: image(path: "/assets/files/rhino.png")), -                                 align(alignment: top, -                                       body: rect(body: align(alignment: right, -                                                              body: text(body: [LoL])), -                                                  fill: rgb(13%,61%,67%,100%), -                                                  inset: 0.0pt)), -                                 text(body: [rofl]), -                                 { linebreak(), -                                   text(body: [A]), -                                   linebreak(), -                                   text(body: [A]), -                                   linebreak(), -                                   text(body: [A]) }, -                                 { text(body: [Ha!]), -                                   linebreak(), -                                   text(body: [Ha!]), -                                   linebreak(), -                                   text(body: [Ha!]), -                                   linebreak() }), -                      column-gutter: (0.0pt, 10%), -                      columns: (1.0fr, -                                1.0fr, -                                1.0fr, -                                1.0fr), -                      row-gutter: 10.0pt), -                 parbreak() })
− test/out/layout/grid-3-02.out
@@ -1,119 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-3-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-3-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-3-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/grid-3-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Cm))-       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))-       ])-, SoftBreak-, Code-    "test/typ/layout/grid-3-02.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Times-              (Literal (Int 3)) (Array [ Reg (Literal (Numeric 1.0 Fr)) ]))-       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 8.0 Pt))-       , KeyValArg-           (Identifier "column-gutter")-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 10.0 Percent))-              ])-       , NormalArg (Block (Content [ Text "A" ]))-       , NormalArg (Block (Content [ Text "B" ]))-       , NormalArg (Block (Content [ Text "C" ]))-       , NormalArg-           (Times-              (Block (Content [ Text "Ha!" , HardBreak ])) (Literal (Int 6)))-       , NormalArg (Block (Content [ Text "rofl" ]))-       , NormalArg-           (Times-              (Block (Content [ HardBreak , Text "A" ])) (Literal (Int 3)))-       , NormalArg (Block (Content [ Text "hello" ]))-       , NormalArg (Block (Content [ Text "darkness" ]))-       , NormalArg (Block (Content [ Text "my" , Space , Text "old" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: (text(body: [A]), -                                 text(body: [B]), -                                 text(body: [C]), -                                 { text(body: [Ha!]), -                                   linebreak(), -                                   text(body: [Ha!]), -                                   linebreak(), -                                   text(body: [Ha!]), -                                   linebreak(), -                                   text(body: [Ha!]), -                                   linebreak(), -                                   text(body: [Ha!]), -                                   linebreak(), -                                   text(body: [Ha!]), -                                   linebreak() }, -                                 text(body: [rofl]), -                                 { linebreak(), -                                   text(body: [A]), -                                   linebreak(), -                                   text(body: [A]), -                                   linebreak(), -                                   text(body: [A]) }, -                                 text(body: [hello]), -                                 text(body: [darkness]), -                                 text(body: [my old])), -                      column-gutter: (0.0pt, 10%), -                      columns: (1.0fr, -                                1.0fr, -                                1.0fr), -                      row-gutter: 8.0pt), -                 parbreak() })
− test/out/layout/grid-3-03.out
@@ -1,146 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-3-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-3-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-3-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/grid-3-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Cm))-       , KeyValArg (Identifier "height") (Literal (Numeric 2.25 Cm))-       ])-, SoftBreak-, Code-    "test/typ/layout/grid-3-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Times-              (Literal (Int 4)) (Array [ Reg (Literal (Numeric 1.0 Fr)) ]))-       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 10.0 Pt))-       , KeyValArg-           (Identifier "column-gutter")-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 10.0 Percent))-              ])-       , NormalArg (Block (Content [ Text "A" ]))-       , NormalArg (Block (Content [ Text "B" ]))-       , NormalArg (Block (Content [ Text "C" ]))-       , NormalArg (Block (Content [ Text "D" ]))-       , NormalArg-           (FuncCall-              (Ident (Identifier "grid"))-              [ KeyValArg (Identifier "columns") (Literal (Int 2))-              , NormalArg (Block (Content [ Text "A" ]))-              , NormalArg (Block (Content [ Text "B" ]))-              , NormalArg-                  (Times-                     (Block (Content [ Text "C" , HardBreak ])) (Literal (Int 3)))-              , NormalArg (Block (Content [ Text "D" ]))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "top"))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))-                     , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-                     , NormalArg-                         (FuncCall-                            (Ident (Identifier "align"))-                            [ NormalArg (Ident (Identifier "right"))-                            , BlockArg [ Text "LoL" ]-                            ])-                     ])-              ])-       , NormalArg (Block (Content [ Text "rofl" ]))-       , NormalArg-           (Times-              (Block (Content [ Text "E" , HardBreak ])) (Literal (Int 4)))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: (text(body: [A]), -                                 text(body: [B]), -                                 text(body: [C]), -                                 text(body: [D]), -                                 grid(children: (text(body: [A]), -                                                 text(body: [B]), -                                                 { text(body: [C]), -                                                   linebreak(), -                                                   text(body: [C]), -                                                   linebreak(), -                                                   text(body: [C]), -                                                   linebreak() }, -                                                 text(body: [D])), -                                      columns: 2), -                                 align(alignment: top, -                                       body: rect(body: align(alignment: right, -                                                              body: text(body: [LoL])), -                                                  fill: rgb(13%,61%,67%,100%), -                                                  inset: 0.0pt)), -                                 text(body: [rofl]), -                                 { text(body: [E]), -                                   linebreak(), -                                   text(body: [E]), -                                   linebreak(), -                                   text(body: [E]), -                                   linebreak(), -                                   text(body: [E]), -                                   linebreak() }), -                      column-gutter: (0.0pt, 10%), -                      columns: (1.0fr, -                                1.0fr, -                                1.0fr, -                                1.0fr), -                      row-gutter: 10.0pt), -                 parbreak() })
− test/out/layout/grid-4-00.out
@@ -1,93 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-4-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-4-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-4-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/grid-4-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Array-              [ Reg (Literal Auto) , Reg (Literal (Numeric 60.0 Percent)) ])-       , KeyValArg-           (Identifier "rows")-           (Array [ Reg (Literal Auto) , Reg (Literal Auto) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 0.5 Cm))-              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 0.5 Cm))-              , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 0.5 Cm))-              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 grid(children: (rect(fill: rgb(18%,80%,25%,100%), -                                      height: 0.5cm, -                                      width: 50%), -                                 rect(fill: rgb(13%,61%,67%,100%), -                                      height: 0.5cm, -                                      width: 100%), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      height: 0.5cm, -                                      width: 50%)), -                      columns: (auto, 60%), -                      rows: (auto, auto)), -                 parbreak() })
− test/out/layout/grid-4-01.out
@@ -1,97 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-4-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-4-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-4-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/grid-4-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Times-              (Array [ Reg (Literal (Numeric 1.0 Fr)) ]) (Literal (Int 4)))-       , KeyValArg-           (Identifier "rows") (Array [ Reg (Literal (Numeric 1.0 Cm)) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 grid(children: (rect(fill: rgb(18%,80%,25%,100%), -                                      width: 50%), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      width: 50%), -                                 rect(fill: rgb(18%,80%,25%,100%), -                                      width: 50%), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      width: 50%)), -                      columns: (1.0fr, -                                1.0fr, -                                1.0fr, -                                1.0fr), -                      rows: (1.0cm)), -                 parbreak() })
− test/out/layout/grid-4-02.out
@@ -1,117 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-4-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-4-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-4-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/grid-4-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 4.0 Cm))-       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Cm))-       ])-, SoftBreak-, Code-    "test/typ/layout/grid-4-02.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "rows")-           (Array-              [ Reg (Literal (Numeric 1.0 Cm))-              , Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal Auto)-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "height") (Literal (Numeric 25.0 Percent))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: (rect(fill: rgb(18%,80%,25%,100%), -                                      height: 50%, -                                      width: 100%), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      height: 50%, -                                      width: 100%), -                                 rect(fill: rgb(18%,80%,25%,100%), -                                      height: 50%, -                                      width: 100%), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      height: 25%, -                                      width: 100%)), -                      rows: (1.0cm, -                             1.0fr, -                             1.0fr, -                             auto)), -                 parbreak() })
− test/out/layout/grid-5-00.out
@@ -1,88 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-5-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-5-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-5-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/grid-5-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm)) ])-, SoftBreak-, Code-    "test/typ/layout/grid-5-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ BlockArg-           [ SoftBreak-           , Text "Hello"-           , Space-           , HardBreak-           , Text "Hello"-           , Space-           , HardBreak-           , Text "Hello"-           , Space-           , HardBreak-           , SoftBreak-           , Text "World"-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: ({ text(body: [-Hello ]), -                                   linebreak(), -                                   text(body: [Hello ]), -                                   linebreak(), -                                   text(body: [Hello ]), -                                   linebreak(), -                                   text(body: [-World]), -                                   parbreak() })), -                 parbreak() })
− test/out/layout/grid-5-01.out
@@ -1,128 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-5-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-5-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-5-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/grid-5-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 2.25 Cm)) ])-, SoftBreak-, Code-    "test/typ/layout/grid-5-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg (Identifier "columns") (Literal (Int 2))-       , KeyValArg (Identifier "gutter") (Literal (Numeric 10.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "bottom"))-              , BlockArg [ Text "A" ]-              ])-       , NormalArg-           (Block-              (Content-                 [ SoftBreak-                 , Text "Top"-                 , SoftBreak-                 , Code-                     "test/typ/layout/grid-5-01.typ"-                     ( line 10 , column 6 )-                     (FuncCall-                        (Ident (Identifier "align"))-                        [ NormalArg (Ident (Identifier "bottom"))-                        , BlockArg-                            [ SoftBreak-                            , Text "Bottom"-                            , Space-                            , HardBreak-                            , Text "Bottom"-                            , Space-                            , HardBreak-                            , Code-                                "test/typ/layout/grid-5-01.typ"-                                ( line 13 , column 8 )-                                (FuncCall-                                   (Ident (Identifier "v"))-                                   [ NormalArg (Literal (Numeric 0.0 Pt)) ])-                            , SoftBreak-                            , Text "Top"-                            , ParBreak-                            ]-                        ])-                 , ParBreak-                 ]))-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "top")) , BlockArg [ Text "B" ] ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: (align(alignment: bottom, -                                       body: text(body: [A])), -                                 { text(body: [-Top-]), -                                   align(alignment: bottom, -                                         body: { text(body: [-Bottom ]), -                                                 linebreak(), -                                                 text(body: [Bottom ]), -                                                 linebreak(), -                                                 v(amount: 0.0pt), -                                                 text(body: [-Top]), -                                                 parbreak() }), -                                   parbreak() }, -                                 align(alignment: top, -                                       body: text(body: [B]))), -                      columns: 2, -                      gutter: 10.0pt), -                 parbreak() })
− test/out/layout/grid-auto-shrink-00.out
@@ -1,139 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-auto-shrink-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-auto-shrink-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-auto-shrink-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/grid-auto-shrink-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg-           (Identifier "width")-           (Plus-              (Minus-                 (Literal (Numeric 210.0 Mm))-                 (Times (Literal (Int 2)) (Literal (Numeric 2.5 Cm))))-              (Times (Literal (Int 2)) (Literal (Numeric 10.0 Pt))))-       ])-, SoftBreak-, Code-    "test/typ/layout/grid-auto-shrink-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 11.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/grid-auto-shrink-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg (Identifier "columns") (Literal (Int 4))-       , NormalArg (Block (Content [ Text "Hello!" ]))-       , NormalArg-           (Block-              (Content-                 [ Text "Hello"-                 , Space-                 , Text "there,"-                 , Space-                 , Text "my"-                 , Space-                 , Text "friend!"-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Text "Hello"-                 , Space-                 , Text "there,"-                 , Space-                 , Text "my"-                 , Space-                 , Text "friends!"-                 , Space-                 , Text "Hi!"-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Text "Hello"-                 , Space-                 , Text "there,"-                 , Space-                 , Text "my"-                 , Space-                 , Text "friends!"-                 , Space-                 , Text "Hi!"-                 , Space-                 , Text "What"-                 , Space-                 , Text "is"-                 , Space-                 , Text "going"-                 , Space-                 , Text "on"-                 , Space-                 , Text "right"-                 , Space-                 , Text "now?"-                 ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      size: 11.0pt), -                 table(children: (text(body: [Hello!], -                                       size: 11.0pt), -                                  text(body: [Hello there, my friend!], -                                       size: 11.0pt), -                                  text(body: [Hello there, my friends! Hi!], -                                       size: 11.0pt), -                                  text(body: [Hello there, my friends! Hi! What is going on right now?], -                                       size: 11.0pt)), -                       columns: 4), -                 parbreak() })
− test/out/layout/grid-rtl-00.out
@@ -1,63 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-rtl-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-rtl-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-rtl-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/grid-rtl-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])-, SoftBreak-, BulletListItem-    [ Text "\1502\1497\1502\1497\1503"-    , Space-    , Text "\1500\1513\1502\1488\1500"-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], dir: rtl), -                 list(children: ({ text(body: [מימין לשמאל], -                                        dir: rtl), -                                   parbreak() })) })
− test/out/layout/grid-rtl-01.out
@@ -1,76 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/grid-rtl-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/grid-rtl-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/grid-rtl-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/grid-rtl-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])-, SoftBreak-, Code-    "test/typ/layout/grid-rtl-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg (Identifier "columns") (Literal (Int 2))-       , BlockArg [ Text "A" ]-       , BlockArg [ Text "B" ]-       , BlockArg [ Text "C" ]-       , BlockArg [ Text "D" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], dir: rtl), -                 table(children: (text(body: [A], -                                       dir: rtl), -                                  text(body: [B], -                                       dir: rtl), -                                  text(body: [C], -                                       dir: rtl), -                                  text(body: [D], -                                       dir: rtl)), -                       columns: 2), -                 parbreak() })
− test/out/layout/hide-00.out
@@ -1,83 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/hide-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/hide-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/hide-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Text "AB"-, Space-, Code-    "test/typ/layout/hide-00.typ"-    ( line 2 , column 5 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, Space-, Text "CD"-, Space-, HardBreak-, Code-    "test/typ/layout/hide-00.typ"-    ( line 3 , column 2 )-    (FuncCall (Ident (Identifier "hide")) [ BlockArg [ Text "A" ] ])-, Text "B"-, Space-, Code-    "test/typ/layout/hide-00.typ"-    ( line 3 , column 12 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, Space-, Text "C"-, Code-    "test/typ/layout/hide-00.typ"-    ( line 3 , column 21 )-    (FuncCall (Ident (Identifier "hide")) [ BlockArg [ Text "D" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-AB ]), -                 h(amount: 1.0fr), -                 text(body: [ CD ]), -                 linebreak(), -                 hide(body: text(body: [A])), -                 text(body: [B ]), -                 h(amount: 1.0fr), -                 text(body: [ C]), -                 hide(body: text(body: [D])), -                 parbreak() })
− test/out/layout/list-00.out
@@ -1,64 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Emph [ Text "Shopping" , Space , Text "list" ]-, SoftBreak-, Code-    "test/typ/layout/list-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "list"))-       [ BlockArg [ Text "Apples" ]-       , BlockArg [ Text "Potatoes" ]-       , BlockArg [ Text "Juice" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 emph(body: text(body: [Shopping list])), -                 text(body: [-]), -                 list(children: (text(body: [Apples]), -                                 text(body: [Potatoes]), -                                 text(body: [Juice]))), -                 parbreak() })
− test/out/layout/list-01.out
@@ -1,115 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, BulletListItem-    [ Text "First"-    , Space-    , Text "level"-    , Text "."-    , ParBreak-    , BulletListItem-        [ Text "Second"-        , Space-        , Text "level"-        , Text "."-        , SoftBreak-        , Text "There"-        , Space-        , Text "are"-        , Space-        , Text "multiple"-        , Space-        , Text "paragraphs"-        , Text "."-        , ParBreak-        , BulletListItem-            [ Text "Third" , Space , Text "level" , Text "." , SoftBreak ]-        , SoftBreak-        , Text "Still"-        , Space-        , Text "the"-        , Space-        , Text "same"-        , Space-        , Text "bullet"-        , Space-        , Text "point"-        , Text "."-        , SoftBreak-        ]-    , SoftBreak-    , BulletListItem-        [ Text "Still"-        , Space-        , Text "level"-        , Space-        , Text "2"-        , Text "."-        , SoftBreak-        ]-    ]-, SoftBreak-, BulletListItem-    [ Text "At"-    , Space-    , Text "the"-    , Space-    , Text "top"-    , Text "."-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 list(children: ({ text(body: [First level.]), -                                   parbreak(), -                                   list(children: ({ text(body: [Second level.-There are multiple paragraphs.]), -                                                     parbreak(), -                                                     list(children: (text(body: [Third level.-]))), -                                                     text(body: [Still the same bullet point.-]) }, -                                                   text(body: [Still level 2.-]))) }, -                                 { text(body: [At the top.]), -                                   parbreak() })) })
− test/out/layout/list-02.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, BulletListItem-    [ Text "Level"-    , Space-    , Text "1"-    , SoftBreak-    , BulletListItem-        [ Text "Level"-        , Space-        , Code-            "test/typ/layout/list-02.typ"-            ( line 3 , column 12 )-            (Block-               (Content-                  [ SoftBreak-                  , Text "2"-                  , Space-                  , Text "through"-                  , Space-                  , Text "content"-                  , Space-                  , Text "block"-                  , ParBreak-                  ]))-        , ParBreak-        ]-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 list(children: ({ text(body: [Level 1-]), -                                   list(children: ({ text(body: [Level ]), -                                                     text(body: [-2 through content block]), -                                                     parbreak(), -                                                     parbreak() })) })) })
− test/out/layout/list-03.out
@@ -1,53 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, BulletListItem-    [ Text "Top" , Text "-" , Text "level" , Space , Text "indent" ]-, SoftBreak-, BulletListItem-    [ Text "is" , Space , Text "fine" , Text "." , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 list(children: (text(body: [Top-level indent]), -                                 { text(body: [is fine.]), -                                   parbreak() })) })
− test/out/layout/list-04.out
@@ -1,60 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, BulletListItem-    [ Text "A"-    , SoftBreak-    , BulletListItem [ Text "B" ]-    , SoftBreak-    , BulletListItem [ Text "C" ]-    ]-, SoftBreak-, BulletListItem [ Text "D" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 list(children: ({ text(body: [A-]), -                                   list(children: (text(body: [B]), -                                                   text(body: [C]))) }, -                                 { text(body: [D]), -                                   parbreak() })) })
− test/out/layout/list-05.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Space-, Text "-"-, Space-, Text "A"-, Space-, Text "with"-, Space-, Text "1"-, Space-, Text "tab"-, SoftBreak-, BulletListItem-    [ Text "B"-    , Space-    , Text "with"-    , Space-    , Text "2"-    , Space-    , Text "tabs"-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [ - A with 1 tab-]), -                 list(children: ({ text(body: [B with 2 tabs]), -                                   parbreak() })) })
− test/out/layout/list-06.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Space-, Text "-"-, Space-, Text "A"-, Space-, Text "with"-, Space-, Text "2"-, Space-, Text "spaces"-, SoftBreak-, BulletListItem-    [ Text "B"-    , Space-    , Text "with"-    , Space-    , Text "2"-    , Space-    , Text "tabs"-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [ - A with 2 spaces-]), -                 list(children: ({ text(body: [B with 2 tabs]), -                                   parbreak() })) })
− test/out/layout/list-07.out
@@ -1,61 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, BulletListItem []-, SoftBreak-, Text "Not"-, Space-, Text "in"-, Space-, Text "list"-, SoftBreak-, Text "-"-, Text "Nope"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 list(children: ({  })), -                 text(body: [Not in list--Nope]), -                 parbreak() })
− test/out/layout/list-08.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/list-08.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "horizon")) ])-, ParBreak-, BulletListItem-    [ Text "ABCDEF"-    , HardBreak-    , Text "GHIJKL"-    , HardBreak-    , Text "MNOPQR"-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 list(children: ({ text(body: [ABCDEF]), -                                   linebreak(), -                                   text(body: [GHIJKL]), -                                   linebreak(), -                                   text(body: [MNOPQR]), -                                   parbreak() })) })
− test/out/layout/list-attach-00.out
@@ -1,74 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-attach-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-attach-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-attach-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Attached"-, Space-, Text "to"-, Text ":"-, SoftBreak-, BulletListItem [ Text "the" , Space , Text "bottom" ]-, SoftBreak-, BulletListItem-    [ Text "of"-    , Space-    , Text "the"-    , Space-    , Text "paragraph"-    , SoftBreak-    ]-, SoftBreak-, Text "Next"-, Space-, Text "paragraph"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Attached to:-]), -                 list(children: (text(body: [the bottom]), -                                 text(body: [of the paragraph-]))), -                 text(body: [Next paragraph.]), -                 parbreak() })
− test/out/layout/list-attach-01.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-attach-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-attach-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-attach-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/list-attach-01.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "list")))-       (Set-          (Ident (Identifier "block"))-          [ KeyValArg (Identifier "above") (Literal (Numeric 100.0 Pt)) ]))-, SoftBreak-, Text "Hello"-, SoftBreak-, BulletListItem [ Text "A" ]-, SoftBreak-, Text "World"-, SoftBreak-, BulletListItem [ Text "B" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Hello-]), -                 list(children: (text(body: [A]))), -                 text(body: [World-]), -                 list(children: ({ text(body: [B]), -                                   parbreak() })) })
− test/out/layout/list-attach-02.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-attach-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-attach-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-attach-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Text "Hello"-, ParBreak-, BulletListItem [ Text "A" , SoftBreak ]-, SoftBreak-, Text "World"-, SoftBreak-, BulletListItem [ Text "B" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Hello]), -                 parbreak(), -                 list(children: (text(body: [A-]))), -                 text(body: [World-]), -                 list(children: ({ text(body: [B]), -                                   parbreak() })) })
− test/out/layout/list-attach-03.out
@@ -1,77 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-attach-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-attach-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-attach-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/list-attach-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 15.0 Pt)) ])-, SoftBreak-, Text "Hello"-, SoftBreak-, BulletListItem [ Text "A" ]-, SoftBreak-, Text "World"-, ParBreak-, BulletListItem [ Text "B" ]-, SoftBreak-, BulletListItem [ Text "C" , SoftBreak ]-, SoftBreak-, Text "More"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Hello-]), -                 list(children: (text(body: [A]))), -                 text(body: [World]), -                 parbreak(), -                 list(children: (text(body: [B]), -                                 text(body: [C-]))), -                 text(body: [More.]), -                 parbreak() })
− test/out/layout/list-attach-04.out
@@ -1,69 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-attach-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-attach-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-attach-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/list-attach-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 15.0 Pt)) ])-, SoftBreak-, Text "Hello"-, SoftBreak-, BulletListItem [ Text "A" , SoftBreak ]-, SoftBreak-, BulletListItem [ Text "B" ]-, SoftBreak-, Text "World"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Hello-]), -                 list(children: (text(body: [A-]), -                                 text(body: [B]))), -                 text(body: [World]), -                 parbreak() })
− test/out/layout/list-attach-05.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-attach-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-attach-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-attach-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Hello"-, SoftBreak-, Code-    "test/typ/layout/list-attach-05.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "list"))-       [ KeyValArg (Identifier "tight") (Literal (Boolean False))-       , BlockArg [ Text "A" ]-       , BlockArg [ Text "B" ]-       ])-, SoftBreak-, Text "World"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Hello-]), -                 list(children: (text(body: [A]), -                                 text(body: [B])), -                      tight: false), -                 text(body: [-World]), -                 parbreak() })
− test/out/layout/list-marker-00.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-marker-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-marker-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-marker-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/list-marker-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "list"))-       [ KeyValArg (Identifier "marker") (Block (Content [ EnDash ])) ])-, SoftBreak-, BulletListItem [ Text "A" ]-, SoftBreak-, BulletListItem [ Text "B" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 list(children: (text(body: [A]), -                                 { text(body: [B]), -                                   parbreak() }), -                      marker: text(body: [–])) })
− test/out/layout/list-marker-01.out
@@ -1,79 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-marker-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-marker-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-marker-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/list-marker-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "list"))-       [ KeyValArg-           (Identifier "marker")-           (Array-              [ Reg (Block (Content [ EnDash ]))-              , Reg (Block (Content [ Text "\8226" ]))-              ])-       ])-, SoftBreak-, BulletListItem-    [ Text "A"-    , SoftBreak-    , BulletListItem-        [ Text "B" , SoftBreak , BulletListItem [ Text "C" , ParBreak ] ]-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 list(children: ({ text(body: [A-]), -                                   list(children: ({ text(body: [B-]), -                                                     list(children: ({ text(body: [C]), -                                                                       parbreak() }), -                                                          marker: (text(body: [–]), -                                                                   text(body: [•]))) }), -                                        marker: (text(body: [–]), -                                                 text(body: [•]))) }), -                      marker: (text(body: [–]), -                               text(body: [•]))) })
− test/out/layout/list-marker-02.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-marker-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-marker-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-marker-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/list-marker-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "list"))-       [ KeyValArg-           (Identifier "marker")-           (FuncExpr-              [ NormalParam (Identifier "n") ]-              (If-                 [ ( Equals (Ident (Identifier "n")) (Literal (Int 1))-                   , Block (Content [ EnDash ])-                   )-                 , ( Literal (Boolean True) , Block (Content [ Text "\8226" ]) )-                 ]))-       ])-, SoftBreak-, BulletListItem [ Text "A" ]-, SoftBreak-, BulletListItem-    [ Text "B"-    , SoftBreak-    , BulletListItem [ Text "C" ]-    , SoftBreak-    , BulletListItem-        [ Text "D" , SoftBreak , BulletListItem [ Text "E" ] ]-    ]-, SoftBreak-, BulletListItem [ Text "F" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 list(children: (text(body: [A]), -                                 { text(body: [B-]), -                                   list(children: (text(body: [C]), -                                                   { text(body: [D-]), -                                                     list(children: (text(body: [E])), -                                                          marker: ) }), -                                        marker: ) }, -                                 { text(body: [F]), -                                   parbreak() }), -                      marker: ) })
− test/out/layout/list-marker-03.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/list-marker-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/list-marker-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/list-marker-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/list-marker-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "list"))-       [ KeyValArg-           (Identifier "marker") (Block (Content [ BulletListItem [] ]))-       ])-, SoftBreak-, BulletListItem-    [ Text "Bare" , Space , Text "hyphen" , Space , Text "is" ]-, SoftBreak-, BulletListItem-    [ Text "a"-    , Space-    , Text "bad"-    , Space-    , Text "marker"-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 list(children: (text(body: [Bare hyphen is]), -                                 { text(body: [a bad marker]), -                                   parbreak() }), -                      marker: list(children: ({  }))) })
− test/out/layout/list-marker-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/pad-00.out
@@ -1,124 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/pad-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/pad-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/pad-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/pad-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "pad"))-       [ KeyValArg (Identifier "left") (Literal (Numeric 10.0 Pt))-       , NormalArg (Block (Content [ Text "Indented!" ]))-       ])-, ParBreak-, Comment-, Code-    "test/typ/layout/pad-00.typ"-    ( line 6 , column 2 )-    (Set-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/pad-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "pad"))-              [ NormalArg (Literal (Numeric 10.0 Pt))-              , KeyValArg (Identifier "right") (Literal (Numeric 20.0 Pt))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))-                     , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))-                     , KeyValArg-                         (Identifier "fill")-                         (FuncCall-                            (Ident (Identifier "rgb"))-                            [ NormalArg (Literal (String "eb5278")) ])-                     ])-              ])-       ])-, ParBreak-, Text "Hi"-, Space-, Code-    "test/typ/layout/pad-00.typ"-    ( line 13 , column 5 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "pad"))-              [ KeyValArg (Identifier "left") (Literal (Numeric 10.0 Pt))-              , BlockArg [ Text "A" ]-              ])-       ])-, Space-, Text "there"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 pad(body: text(body: [Indented!]), -                     left: 10.0pt), -                 parbreak(), -                 text(body: [-]), -                 rect(body: pad(body: rect(fill: rgb(92%,32%,47%,100%), -                                           height: 20.0pt, -                                           inset: 0.0pt, -                                           width: 20.0pt), -                                rest: 10.0pt, -                                right: 20.0pt), -                      fill: rgb(18%,80%,25%,100%), -                      inset: 0.0pt), -                 parbreak(), -                 text(body: [Hi ]), -                 box(body: pad(body: text(body: [A]), -                               left: 10.0pt)), -                 text(body: [ there]), -                 parbreak() })
− test/out/layout/pad-01.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/pad-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/pad-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/pad-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/pad-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "pad"))-       [ KeyValArg (Identifier "left") (Literal (Numeric 10.0 Pt))-       , KeyValArg (Identifier "right") (Literal (Numeric 10.0 Pt))-       , BlockArg-           [ Text "PL"-           , Space-           , Code-               "test/typ/layout/pad-01.typ"-               ( line 3 , column 35 )-               (FuncCall-                  (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-           , Space-           , Text "PR"-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 pad(body: { text(body: [PL ]), -                             h(amount: 1.0fr), -                             text(body: [ PR]) }, -                     left: 10.0pt, -                     right: 10.0pt), -                 parbreak() })
− test/out/layout/pad-02.out
@@ -1,96 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/pad-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/pad-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/pad-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/pad-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 6.0 Cm)) ])-, SoftBreak-, Code-    "test/typ/layout/pad-02.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "left"))-       , BlockArg [ Text "Before" ]-       ])-, SoftBreak-, Code-    "test/typ/layout/pad-02.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "pad"))-       [ NormalArg (Literal (Numeric 10.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg")) ])-       ])-, SoftBreak-, Code-    "test/typ/layout/pad-02.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "right"))-       , BlockArg [ Text "After" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 align(alignment: left, -                       body: text(body: [Before])), -                 text(body: [-]), -                 pad(body: image(path: "/assets/files/tiger.jpg"), -                     rest: 10.0pt), -                 text(body: [-]), -                 align(alignment: right, -                       body: text(body: [After])), -                 parbreak() })
− test/out/layout/pad-03.out
@@ -1,55 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/pad-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/pad-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/pad-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/pad-03.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "pad"))-       [ NormalArg (Literal (Numeric 50.0 Percent)) , BlockArg [] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 pad(body: {  }, rest: 50%), -                 parbreak() })
− test/out/layout/page-00.out
@@ -1,54 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/page-00.typ"-    ( line 4 , column 2 )-    (FuncCall (Ident (Identifier "page")) [ BlockArg [] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 page(body: {  }), -                 parbreak() })
− test/out/layout/page-01.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/page-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "page"))-       [ NormalArg (Literal (String "a11"))-       , KeyValArg (Identifier "flipped") (Literal (Boolean True))-       , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       , BlockArg []-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 page(body: [a11], -                      fill: rgb(18%,80%,25%,100%), -                      flipped: true), -                 parbreak() })
− test/out/layout/page-02.out
@@ -1,112 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/page-02.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/layout/page-02.typ"-    ( line 5 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/layout/page-02.typ"-              ( line 5 , column 4 )-              (Set-                 (Ident (Identifier "page"))-                 [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt)) ])-          , Text "High"-          ]))-, SoftBreak-, Code-    "test/typ/layout/page-02.typ"-    ( line 6 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/layout/page-02.typ"-              ( line 6 , column 4 )-              (Set-                 (Ident (Identifier "page"))-                 [ KeyValArg (Identifier "height") (Literal (Numeric 40.0 Pt)) ])-          , Text "Wide"-          ]))-, ParBreak-, Comment-, Code-    "test/typ/layout/page-02.typ"-    ( line 9 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/layout/page-02.typ"-              ( line 9 , column 4 )-              (Set-                 (Ident (Identifier "page"))-                 [ KeyValArg (Identifier "paper") (Literal (String "a11"))-                 , KeyValArg (Identifier "flipped") (Literal (Boolean True))-                 ])-          , Text "Flipped"-          , Space-          , Text "A11"-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [High]), -                 text(body: [-]), -                 text(body: [Wide]), -                 parbreak(), -                 text(body: [Flipped A11]), -                 parbreak() })
− test/out/layout/page-03.out
@@ -1,100 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/page-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 40.0 Pt))-       , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-       ])-, SoftBreak-, Code-    "test/typ/layout/page-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 15.0 Pt))-       , KeyValArg (Identifier "font") (Literal (String "Roboto"))-       , KeyValArg (Identifier "fill") (Ident (Identifier "white"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "smallcaps")) [ BlockArg [ Text "Typst" ] ])-       ])-, SoftBreak-, Code-    "test/typ/layout/page-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt))-       , KeyValArg (Identifier "fill") (Literal None)-       , KeyValArg-           (Identifier "margin")-           (Dict-              [ Reg ( Ident (Identifier "top") , Literal (Numeric 10.0 Pt) )-              , Reg ( Ident (Identifier "rest") , Literal Auto )-              ])-       , BlockArg [ Text "Hi" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: smallcaps(body: text(body: [Typst])), -                      fill: rgb(100%,100%,100%,100%), -                      font: "Roboto", -                      size: 15.0pt), -                 text(body: [-]), -                 page(body: text(body: [Hi]), -                      fill: none, -                      height: 40.0pt, -                      margin: (top: 10.0pt,-                               rest: auto), -                      width: 40.0pt), -                 parbreak() })
− test/out/layout/page-04.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/page-04.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "page"))-       [ NormalArg (Literal (String "a11"))-       , KeyValArg (Identifier "flipped") (Literal (Boolean True))-       , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , BlockArg []-       ])-, SoftBreak-, Code-    "test/typ/layout/page-04.typ"-    ( line 5 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 page(body: [a11], -                      fill: rgb(100%,25%,21%,100%), -                      flipped: true), -                 text(body: [-]), -                 pagebreak(), -                 parbreak() })
− test/out/layout/page-05.out
@@ -1,121 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/layout/page-05.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt))-       , NormalArg-           (Block-              (CodeBlock-                 [ FuncCall-                     (Ident (Identifier "layout"))-                     [ NormalArg-                         (FuncExpr-                            [ NormalParam (Identifier "size") ]-                            (Block-                               (Content-                                  [ Text "This"-                                  , Space-                                  , Text "page"-                                  , Space-                                  , Text "has"-                                  , Space-                                  , Text "a"-                                  , Space-                                  , Text "width"-                                  , Space-                                  , Text "of"-                                  , Space-                                  , Code-                                      "test/typ/layout/page-05.typ"-                                      ( line 5 , column 45 )-                                      (FieldAccess-                                         (Ident (Identifier "width")) (Ident (Identifier "size")))-                                  , Space-                                  , Text "and"-                                  , Space-                                  , Text "height"-                                  , Space-                                  , Text "of"-                                  , Space-                                  , Code-                                      "test/typ/layout/page-05.typ"-                                      ( line 5 , column 71 )-                                      (FieldAccess-                                         (Ident (Identifier "height")) (Ident (Identifier "size")))-                                  , Space-                                  ])))-                     ]-                 , FuncCall-                     (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Em)) ]-                 , FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg (Ident (Identifier "left"))-                     , NormalArg-                         (FuncCall-                            (Ident (Identifier "rect"))-                            [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))-                            , KeyValArg (Identifier "stroke") (Ident (Identifier "blue"))-                            ])-                     ]-                 ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 page(body: { layout(func: ), -                              h(amount: 1.0em), -                              place(alignment: left, -                                    body: rect(stroke: rgb(0%,45%,85%,100%), -                                               width: 80.0pt)) }, -                      height: 100.0pt, -                      width: 100.0pt), -                 parbreak() })
− test/out/layout/page-margin-00.out
@@ -1,95 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-margin-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-margin-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-margin-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/page-margin-00.typ"-    ( line 3 , column 2 )-    (Block-       (Content-          [ SoftBreak-          , Code-              "test/typ/layout/page-margin-00.typ"-              ( line 4 , column 4 )-              (Set-                 (Ident (Identifier "page"))-                 [ KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))-                 , KeyValArg (Identifier "margin") (Literal (Numeric 5.0 Pt))-                 ])-          , SoftBreak-          , Code-              "test/typ/layout/page-margin-00.typ"-              ( line 5 , column 4 )-              (FuncCall-                 (Ident (Identifier "place"))-                 [ NormalArg-                     (Plus (Ident (Identifier "top")) (Ident (Identifier "left")))-                 , BlockArg [ Text "TL" ]-                 ])-          , SoftBreak-          , Code-              "test/typ/layout/page-margin-00.typ"-              ( line 6 , column 4 )-              (FuncCall-                 (Ident (Identifier "place"))-                 [ NormalArg-                     (Plus (Ident (Identifier "bottom")) (Ident (Identifier "right")))-                 , BlockArg [ Text "BR" ]-                 ])-          , ParBreak-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 place(alignment: Axes(left, top), -                       body: text(body: [TL])), -                 text(body: [-]), -                 place(alignment: Axes(right, bottom), -                       body: text(body: [BR])), -                 parbreak(), -                 parbreak() })
− test/out/layout/page-margin-01.out
@@ -1,200 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-margin-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-margin-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-margin-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/page-margin-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 40.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/page-margin-01.typ"-    ( line 4 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/layout/page-margin-01.typ"-              ( line 4 , column 4 )-              (Set-                 (Ident (Identifier "page"))-                 [ KeyValArg-                     (Identifier "margin")-                     (Dict-                        [ Reg ( Ident (Identifier "left") , Literal (Numeric 0.0 Pt) ) ])-                 ])-          , Space-          , Code-              "test/typ/layout/page-margin-01.typ"-              ( line 4 , column 36 )-              (FuncCall-                 (Ident (Identifier "align"))-                 [ NormalArg (Ident (Identifier "left"))-                 , BlockArg [ Text "Left" ]-                 ])-          ]))-, SoftBreak-, Code-    "test/typ/layout/page-margin-01.typ"-    ( line 5 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/layout/page-margin-01.typ"-              ( line 5 , column 4 )-              (Set-                 (Ident (Identifier "page"))-                 [ KeyValArg-                     (Identifier "margin")-                     (Dict-                        [ Reg ( Ident (Identifier "right") , Literal (Numeric 0.0 Pt) ) ])-                 ])-          , Space-          , Code-              "test/typ/layout/page-margin-01.typ"-              ( line 5 , column 37 )-              (FuncCall-                 (Ident (Identifier "align"))-                 [ NormalArg (Ident (Identifier "right"))-                 , BlockArg [ Text "Right" ]-                 ])-          ]))-, SoftBreak-, Code-    "test/typ/layout/page-margin-01.typ"-    ( line 6 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/layout/page-margin-01.typ"-              ( line 6 , column 4 )-              (Set-                 (Ident (Identifier "page"))-                 [ KeyValArg-                     (Identifier "margin")-                     (Dict-                        [ Reg ( Ident (Identifier "top") , Literal (Numeric 0.0 Pt) ) ])-                 ])-          , Space-          , Code-              "test/typ/layout/page-margin-01.typ"-              ( line 6 , column 35 )-              (FuncCall-                 (Ident (Identifier "align"))-                 [ NormalArg (Ident (Identifier "top")) , BlockArg [ Text "Top" ] ])-          ]))-, SoftBreak-, Code-    "test/typ/layout/page-margin-01.typ"-    ( line 7 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/layout/page-margin-01.typ"-              ( line 7 , column 4 )-              (Set-                 (Ident (Identifier "page"))-                 [ KeyValArg-                     (Identifier "margin")-                     (Dict-                        [ Reg ( Ident (Identifier "bottom") , Literal (Numeric 0.0 Pt) ) ])-                 ])-          , Space-          , Code-              "test/typ/layout/page-margin-01.typ"-              ( line 7 , column 38 )-              (FuncCall-                 (Ident (Identifier "align"))-                 [ NormalArg (Ident (Identifier "bottom"))-                 , BlockArg [ Text "Bottom" ]-                 ])-          ]))-, ParBreak-, Comment-, Code-    "test/typ/layout/page-margin-01.typ"-    ( line 10 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/layout/page-margin-01.typ"-              ( line 10 , column 4 )-              (Set-                 (Ident (Identifier "page"))-                 [ KeyValArg-                     (Identifier "margin")-                     (Dict-                        [ Reg ( Ident (Identifier "rest") , Literal (Numeric 0.0 Pt) )-                        , Reg ( Ident (Identifier "left") , Literal (Numeric 20.0 Pt) )-                        ])-                 ])-          , Space-          , Text "Overridden"-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [ ]), -                 align(alignment: left, -                       body: text(body: [Left])), -                 text(body: [-]), -                 text(body: [ ]), -                 align(alignment: right, -                       body: text(body: [Right])), -                 text(body: [-]), -                 text(body: [ ]), -                 align(alignment: top, -                       body: text(body: [Top])), -                 text(body: [-]), -                 text(body: [ ]), -                 align(alignment: bottom, -                       body: text(body: [Bottom])), -                 parbreak(), -                 text(body: [ Overridden]), -                 parbreak() })
− test/out/layout/page-marginals-00.out
@@ -1,372 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-marginals-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-marginals-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-marginals-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/page-marginals-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "paper") (Literal (String "a8"))-       , KeyValArg-           (Identifier "margin")-           (Dict-              [ Reg ( Ident (Identifier "x") , Literal (Numeric 15.0 Pt) )-              , Reg ( Ident (Identifier "y") , Literal (Numeric 30.0 Pt) )-              ])-       , KeyValArg-           (Identifier "header")-           (Block-              (CodeBlock-                 [ FuncCall-                     (Ident (Identifier "text"))-                     [ NormalArg (Ident (Identifier "eastern"))-                     , BlockArg [ Strong [ Text "Typst" ] ]-                     ]-                 , FuncCall-                     (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ]-                 , FuncCall-                     (Ident (Identifier "text"))-                     [ NormalArg (Literal (Numeric 0.8 Em))-                     , BlockArg [ Emph [ Text "Chapter" , Space , Text "1" ] ]-                     ]-                 ]))-       , KeyValArg-           (Identifier "footer")-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "center"))-              , BlockArg-                  [ Text "~"-                  , Space-                  , Code-                      "test/typ/layout/page-marginals-00.typ"-                      ( line 10 , column 29 )-                      (FuncCall-                         (FieldAccess-                            (Ident (Identifier "display"))-                            (FuncCall-                               (Ident (Identifier "counter"))-                               [ NormalArg (Ident (Identifier "page")) ]))-                         [])-                  , Space-                  , Text "~"-                  ]-              ])-       , KeyValArg-           (Identifier "background")-           (FuncCall-              (FieldAccess-                 (Ident (Identifier "display"))-                 (FuncCall-                    (Ident (Identifier "counter"))-                    [ NormalArg (Ident (Identifier "page")) ]))-              [ NormalArg-                  (FuncExpr-                     [ NormalParam (Identifier "n") ]-                     (If-                        [ ( LessThanOrEqual (Ident (Identifier "n")) (Literal (Int 2))-                          , Block-                              (CodeBlock-                                 [ FuncCall-                                     (Ident (Identifier "place"))-                                     [ NormalArg-                                         (Plus-                                            (Ident (Identifier "center"))-                                            (Ident (Identifier "horizon")))-                                     , NormalArg-                                         (FuncCall-                                            (Ident (Identifier "circle"))-                                            [ KeyValArg-                                                (Identifier "radius") (Literal (Numeric 1.0 Cm))-                                            , KeyValArg-                                                (Identifier "fill")-                                                (FuncCall-                                                   (Ident (Identifier "luma"))-                                                   [ NormalArg (Literal (Numeric 90.0 Percent)) ])-                                            ])-                                     ]-                                 ])-                          )-                        ]))-              ])-       ])-, ParBreak-, Text "But,"-, Space-, Text "soft!"-, Space-, Text "what"-, Space-, Text "light"-, Space-, Text "through"-, Space-, Text "yonder"-, Space-, Text "window"-, Space-, Text "breaks?"-, Space-, Text "It"-, Space-, Text "is"-, Space-, Text "the"-, Space-, Text "east,"-, Space-, Text "and"-, Space-, Text "Juliet"-, SoftBreak-, Text "is"-, Space-, Text "the"-, Space-, Text "sun"-, Text "."-, Space-, Text "Arise,"-, Space-, Text "fair"-, Space-, Text "sun,"-, Space-, Text "and"-, Space-, Text "kill"-, Space-, Text "the"-, Space-, Text "envious"-, Space-, Text "moon,"-, Space-, Text "Who"-, Space-, Text "is"-, Space-, Text "already"-, Space-, Text "sick"-, Space-, Text "and"-, SoftBreak-, Text "pale"-, Space-, Text "with"-, Space-, Text "grief,"-, Space-, Text "That"-, Space-, Text "thou"-, Space-, Text "her"-, Space-, Text "maid"-, Space-, Text "art"-, Space-, Text "far"-, Space-, Text "more"-, Space-, Text "fair"-, Space-, Text "than"-, Space-, Text "she"-, Text ":"-, Space-, Text "Be"-, Space-, Text "not"-, Space-, Text "her"-, Space-, Text "maid,"-, SoftBreak-, Text "since"-, Space-, Text "she"-, Space-, Text "is"-, Space-, Text "envious;"-, Space-, Text "Her"-, Space-, Text "vestal"-, Space-, Text "livery"-, Space-, Text "is"-, Space-, Text "but"-, Space-, Text "sick"-, Space-, Text "and"-, Space-, Text "green"-, Space-, Text "And"-, Space-, Text "none"-, Space-, Text "but"-, Space-, Text "fools"-, SoftBreak-, Text "do"-, Space-, Text "wear"-, Space-, Text "it;"-, Space-, Text "cast"-, Space-, Text "it"-, Space-, Text "off"-, Text "."-, Space-, Text "It"-, Space-, Text "is"-, Space-, Text "my"-, Space-, Text "lady,"-, Space-, Text "O,"-, Space-, Text "it"-, Space-, Text "is"-, Space-, Text "my"-, Space-, Text "love!"-, Space-, Text "O,"-, Space-, Text "that"-, Space-, Text "she"-, Space-, Text "knew"-, Space-, Text "she"-, SoftBreak-, Text "were!"-, Space-, Text "She"-, Space-, Text "speaks"-, Space-, Text "yet"-, Space-, Text "she"-, Space-, Text "says"-, Space-, Text "nothing"-, Text ":"-, Space-, Text "what"-, Space-, Text "of"-, Space-, Text "that?"-, Space-, Text "Her"-, Space-, Text "eye"-, Space-, Text "discourses;"-, Space-, Text "I"-, Space-, Text "will"-, SoftBreak-, Text "answer"-, Space-, Text "it"-, Text "."-, ParBreak-, Code-    "test/typ/layout/page-marginals-00.typ"-    ( line 24 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "header") (Literal None)-       , KeyValArg (Identifier "height") (Literal Auto)-       , KeyValArg-           (Identifier "margin")-           (Dict-              [ Reg ( Ident (Identifier "top") , Literal (Numeric 15.0 Pt) )-              , Reg ( Ident (Identifier "bottom") , Literal (Numeric 25.0 Pt) )-              ])-       ])-, SoftBreak-, Text "The"-, Space-, Text "END"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [But, soft! what light through yonder window breaks? It is the east, and Juliet-is the sun. Arise, fair sun, and kill the envious moon, Who is already sick and-pale with grief, That thou her maid art far more fair than she: Be not her maid,-since she is envious; Her vestal livery is but sick and green And none but fools-do wear it; cast it off. It is my lady, O, it is my love! O, that she knew she-were! She speaks yet she says nothing: what of that? Her eye discourses; I will-answer it.]), -                 parbreak(), -                 text(body: [-The END.]), -                 parbreak() })
− test/out/layout/page-style-00.out
@@ -1,58 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-style-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-style-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-style-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/page-style-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ NormalArg (Literal (String "a11"))-       , KeyValArg (Identifier "flipped") (Literal (Boolean True))-       , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak() })
− test/out/layout/page-style-01.out
@@ -1,63 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-style-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-style-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-style-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/page-style-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "red")) ])-, SoftBreak-, Code-    "test/typ/layout/page-style-01.typ"-    ( line 5 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 pagebreak(), -                 parbreak() })
− test/out/layout/page-style-02.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-style-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-style-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-style-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/page-style-02.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page")) [ NormalArg (Literal (String "a4")) ])-, SoftBreak-, Code-    "test/typ/layout/page-style-02.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "page")) [ NormalArg (Literal (String "a5")) ])-, SoftBreak-, Code-    "test/typ/layout/page-style-02.typ"-    ( line 6 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))-       , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Cm))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak() })
− test/out/layout/page-style-03.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/page-style-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/page-style-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/page-style-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/page-style-03.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page")) [ NormalArg (Literal (String "a4")) ])-, SoftBreak-, Code-    "test/typ/layout/page-style-03.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "page")) [ NormalArg (Literal (String "a5")) ])-, SoftBreak-, Code-    "test/typ/layout/page-style-03.typ"-    ( line 6 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ NormalArg (Literal (String "a11"))-       , KeyValArg (Identifier "flipped") (Literal (Boolean True))-       , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-       ])-, SoftBreak-, Code-    "test/typ/layout/page-style-03.typ"-    ( line 7 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "Roboto"))-       , NormalArg (Ident (Identifier "white"))-       ])-, SoftBreak-, Code-    "test/typ/layout/page-style-03.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "smallcaps")) [ BlockArg [ Text "Typst" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      color: rgb(100%,100%,100%,100%), -                      font: "Roboto"), -                 smallcaps(body: text(body: [Typst], -                                      color: rgb(100%,100%,100%,100%), -                                      font: "Roboto")), -                 parbreak() })
− test/out/layout/pagebreak-00.out
@@ -1,54 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/pagebreak-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/pagebreak-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/pagebreak-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/pagebreak-00.typ"-    ( line 4 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 pagebreak(), -                 parbreak() })
− test/out/layout/pagebreak-01.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/pagebreak-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/pagebreak-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/pagebreak-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/pagebreak-01.typ"-    ( line 4 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, SoftBreak-, Code-    "test/typ/layout/pagebreak-01.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Cm))-       , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       ])-, SoftBreak-, Code-    "test/typ/layout/pagebreak-01.typ"-    ( line 6 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 pagebreak(), -                 text(body: [-]), -                 text(body: [-]), -                 pagebreak(), -                 parbreak() })
− test/out/layout/pagebreak-02.out
@@ -1,91 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/pagebreak-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/pagebreak-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/pagebreak-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/pagebreak-02.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "aqua")) ])-, SoftBreak-, Code-    "test/typ/layout/pagebreak-02.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "pagebreak"))-       [ KeyValArg (Identifier "weak") (Literal (Boolean True)) ])-, SoftBreak-, Text "First"-, SoftBreak-, Code-    "test/typ/layout/pagebreak-02.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "pagebreak"))-       [ KeyValArg (Identifier "weak") (Literal (Boolean True)) ])-, SoftBreak-, Text "Second"-, SoftBreak-, Code-    "test/typ/layout/pagebreak-02.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "pagebreak"))-       [ KeyValArg (Identifier "weak") (Literal (Boolean True)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 pagebreak(weak: true), -                 text(body: [-First-]), -                 pagebreak(weak: true), -                 text(body: [-Second-]), -                 pagebreak(weak: true), -                 parbreak() })
− test/out/layout/pagebreak-03.out
@@ -1,126 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/pagebreak-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/pagebreak-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/pagebreak-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/pagebreak-03.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 30.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/layout/pagebreak-03.typ"-    ( line 5 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/layout/pagebreak-03.typ"-              ( line 5 , column 4 )-              (Set-                 (Ident (Identifier "page"))-                 [ KeyValArg (Identifier "width") (Literal (Numeric 60.0 Pt)) ])-          , Space-          , Text "First"-          ]))-, SoftBreak-, Code-    "test/typ/layout/pagebreak-03.typ"-    ( line 6 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, SoftBreak-, Code-    "test/typ/layout/pagebreak-03.typ"-    ( line 7 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, SoftBreak-, Text "Third"-, SoftBreak-, Code-    "test/typ/layout/pagebreak-03.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))-       , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , BlockArg []-       ])-, SoftBreak-, Text "Fif"-, Code-    "test/typ/layout/pagebreak-03.typ"-    ( line 10 , column 5 )-    (Block-       (Content-          [ Code-              "test/typ/layout/pagebreak-03.typ"-              ( line 10 , column 7 )-              (Set (Ident (Identifier "page")) [])-          , Text "th"-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [ First]), -                 text(body: [-]), -                 pagebreak(), -                 text(body: [-]), -                 pagebreak(), -                 text(body: [-Third-]), -                 page(body: {  }, -                      fill: rgb(100%,25%,21%,100%), -                      height: 20.0pt, -                      width: 60.0pt), -                 text(body: [-Fif]), -                 text(body: [th]), -                 parbreak() })
− test/out/layout/pagebreak-04.out
@@ -1,111 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/pagebreak-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/pagebreak-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/pagebreak-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/pagebreak-04.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "navy")) ])-, SoftBreak-, Code-    "test/typ/layout/pagebreak-04.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "white")) ])-, SoftBreak-, Text "First"-, SoftBreak-, Code-    "test/typ/layout/pagebreak-04.typ"-    ( line 7 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, SoftBreak-, Code-    "test/typ/layout/pagebreak-04.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "page")) [ BlockArg [ Text "Second" ] ])-, SoftBreak-, Code-    "test/typ/layout/pagebreak-04.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "pagebreak"))-       [ KeyValArg (Identifier "weak") (Literal (Boolean True)) ])-, SoftBreak-, Code-    "test/typ/layout/pagebreak-04.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "page")) [ BlockArg [ Text "Third" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-First-], -                      fill: rgb(100%,100%,100%,100%)), -                 pagebreak(), -                 text(body: [-], -                      fill: rgb(100%,100%,100%,100%)), -                 page(body: text(body: [Second], -                                 fill: rgb(100%,100%,100%,100%)), -                      fill: rgb(0%,12%,24%,100%)), -                 text(body: [-], -                      fill: rgb(100%,100%,100%,100%)), -                 pagebreak(weak: true), -                 text(body: [-], -                      fill: rgb(100%,100%,100%,100%)), -                 page(body: text(body: [Third], -                                 fill: rgb(100%,100%,100%,100%)), -                      fill: rgb(0%,12%,24%,100%)), -                 parbreak() })
− test/out/layout/par-00.out
@@ -1,77 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "right")) ])-, SoftBreak-, Text "To"-, Space-, Text "the"-, Space-, Text "right!"-, Space-, Text "Where"-, Space-, Text "the"-, Space-, Text "sunlight"-, Space-, Text "peeks"-, Space-, Text "behind"-, Space-, Text "the"-, Space-, Text "mountain"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-To the right! Where the sunlight peeks behind the mountain.]), -                 parbreak() })
− test/out/layout/par-01.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Em)) ])-, SoftBreak-, Code-    "test/typ/layout/par-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "leading") (Literal (Numeric 2.0 Pt)) ])-, SoftBreak-, Text "But,"-, Space-, Text "soft!"-, Space-, Text "what"-, Space-, Text "light"-, Space-, Text "through"-, Space-, Text "yonder"-, Space-, Text "window"-, Space-, Text "breaks?"-, ParBreak-, Text "It"-, Space-, Text "is"-, Space-, Text "the"-, Space-, Text "east,"-, Space-, Text "and"-, Space-, Text "Juliet"-, Space-, Text "is"-, Space-, Text "the"-, Space-, Text "sun"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-But, soft! what light through yonder window breaks?]), -                 parbreak(), -                 text(body: [It is the east, and Juliet is the sun.]), -                 parbreak() })
− test/out/layout/par-02.out
@@ -1,105 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/par-02.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 100.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/par-02.typ"-    ( line 5 , column 2 )-    (Show-       (Just (Ident (Identifier "table")))-       (Set-          (Ident (Identifier "block"))-          [ KeyValArg (Identifier "above") (Literal (Numeric 5.0 Pt))-          , KeyValArg (Identifier "below") (Literal (Numeric 5.0 Pt))-          ]))-, SoftBreak-, Text "Hello"-, SoftBreak-, Code-    "test/typ/layout/par-02.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg (Identifier "columns") (Literal (Int 4))-       , KeyValArg-           (Identifier "fill")-           (FuncExpr-              [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-              (If-                 [ ( FuncCall-                       (FieldAccess-                          (Ident (Identifier "odd")) (Ident (Identifier "calc")))-                       [ NormalArg-                           (Plus (Ident (Identifier "x")) (Ident (Identifier "y")))-                       ]-                   , Block (CodeBlock [ Ident (Identifier "silver") ])-                   )-                 ]))-       , BlockArg [ Text "A" ]-       , BlockArg [ Text "B" ]-       , BlockArg [ Text "C" ]-       , BlockArg [ Text "D" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-Hello-]), -                 table(children: (text(body: [A]), -                                  text(body: [B]), -                                  text(body: [C]), -                                  text(body: [D])), -                       columns: 4, -                       fill: ), -                 parbreak() })
− test/out/layout/par-03.out
@@ -1,90 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 0.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/par-03.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Ident (Identifier "raw")))-       (Set-          (Ident (Identifier "block"))-          [ KeyValArg (Identifier "spacing") (Literal (Numeric 15.0 Pt)) ]))-, SoftBreak-, Code-    "test/typ/layout/par-03.typ"-    ( line 5 , column 2 )-    (Show-       (Just (Ident (Identifier "list")))-       (Set-          (Ident (Identifier "block"))-          [ KeyValArg (Identifier "spacing") (Literal (Numeric 2.5 Pt)) ]))-, ParBreak-, RawBlock "rust" "fn main() {}\n"-, ParBreak-, BulletListItem [ Text "List" , SoftBreak ]-, SoftBreak-, Text "Paragraph"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 raw(block: true, -                     lang: "rust", -                     text: "fn main() {}\n"), -                 parbreak(), -                 list(children: (text(body: [List-]))), -                 text(body: [Paragraph]), -                 parbreak() })
− test/out/layout/par-bidi-00.out
@@ -1,84 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-bidi-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-bidi-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-bidi-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-bidi-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "content")))-       (FuncCall-          (Ident (Identifier "par"))-          [ BlockArg-              [ Text "Text" , Space , Text "\1496\1462\1511\1505\1496" ]-          ]))-, SoftBreak-, Code-    "test/typ/layout/par-bidi-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "he"))-       , NormalArg (Ident (Identifier "content"))-       ])-, SoftBreak-, Code-    "test/typ/layout/par-bidi-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "de"))-       , NormalArg (Ident (Identifier "content"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: par(body: text(body: [Text טֶקסט])), -                      lang: "he"), -                 text(body: [-]), -                 text(body: par(body: text(body: [Text טֶקסט])), -                      lang: "de"), -                 parbreak() })
− test/out/layout/par-bidi-01.out
@@ -1,120 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-bidi-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-bidi-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-bidi-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/par-bidi-01.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "content")))-       (FuncCall-          (Ident (Identifier "par"))-          [ BlockArg-              [ Text "\1571\1606\1578"-              , Space-              , Text "A"-              , Code-                  "test/typ/layout/par-bidi-01.typ"-                  ( line 4 , column 26 )-                  (FuncCall (Ident (Identifier "emph")) [ BlockArg [ Text "B" ] ])-              , Text "\1605\1591\1585C"-              ]-          ]))-, SoftBreak-, Code-    "test/typ/layout/par-bidi-01.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font")-           (Array-              [ Reg (Literal (String "PT Sans"))-              , Reg (Literal (String "Noto Sans Arabic"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/layout/par-bidi-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "ar"))-       , NormalArg (Ident (Identifier "content"))-       ])-, SoftBreak-, Code-    "test/typ/layout/par-bidi-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "de"))-       , NormalArg (Ident (Identifier "content"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      font: ("PT Sans", -                             "Noto Sans Arabic")), -                 text(body: par(body: { text(body: [أنت A]), -                                        emph(body: text(body: [B])), -                                        text(body: [مطرC]) }), -                      font: ("PT Sans", -                             "Noto Sans Arabic"), -                      lang: "ar"), -                 text(body: [-], -                      font: ("PT Sans", -                             "Noto Sans Arabic")), -                 text(body: par(body: { text(body: [أنت A]), -                                        emph(body: text(body: [B])), -                                        text(body: [مطرC]) }), -                      font: ("PT Sans", -                             "Noto Sans Arabic"), -                      lang: "de"), -                 parbreak() })
− test/out/layout/par-bidi-02.out
@@ -1,120 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-bidi-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-bidi-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-bidi-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/par-bidi-02.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "content")))-       (FuncCall-          (Ident (Identifier "par"))-          [ BlockArg-              [ Text "A\1490\1462"-              , Code-                  "test/typ/layout/par-bidi-02.typ"-                  ( line 4 , column 24 )-                  (FuncCall-                     (Ident (Identifier "strong"))-                     [ BlockArg [ Text "\1513\1473\1462" ] ])-              , Text "\1501B"-              ]-          ]))-, SoftBreak-, Code-    "test/typ/layout/par-bidi-02.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font")-           (Array-              [ Reg (Literal (String "Linux Libertine"))-              , Reg (Literal (String "Noto Serif Hebrew"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/layout/par-bidi-02.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "he"))-       , NormalArg (Ident (Identifier "content"))-       ])-, SoftBreak-, Code-    "test/typ/layout/par-bidi-02.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "de"))-       , NormalArg (Ident (Identifier "content"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      font: ("Linux Libertine", -                             "Noto Serif Hebrew")), -                 text(body: par(body: { text(body: [Aגֶ]), -                                        strong(body: text(body: [שֶׁ])), -                                        text(body: [םB]) }), -                      font: ("Linux Libertine", -                             "Noto Serif Hebrew"), -                      lang: "he"), -                 text(body: [-], -                      font: ("Linux Libertine", -                             "Noto Serif Hebrew")), -                 text(body: par(body: { text(body: [Aגֶ]), -                                        strong(body: text(body: [שֶׁ])), -                                        text(body: [םB]) }), -                      font: ("Linux Libertine", -                             "Noto Serif Hebrew"), -                      lang: "de"), -                 parbreak() })
− test/out/layout/par-bidi-03.out
@@ -1,65 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-bidi-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-bidi-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-bidi-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-bidi-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])-, SoftBreak-, Text "\1488"-, Text "\8294"-, Text "A"-, Text "\8295"-, Text "B\1489"-, Text "\8297"-, Text "?"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-א⁦A⁧Bב⁩?], -                      dir: rtl), -                 parbreak() })
− test/out/layout/par-bidi-04.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-bidi-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-bidi-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-bidi-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-bidi-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "ar"))-       , KeyValArg-           (Identifier "font")-           (Array-              [ Reg (Literal (String "Noto Sans Arabic"))-              , Reg (Literal (String "PT Sans"))-              ])-       ])-, SoftBreak-, Text "Life"-, Space-, Text "\1575\1604\1605\1591\1585"-, Space-, Text "\1607\1608"-, Space-, Text "\1575\1604\1581\1610\1575\1577"-, Space-, HardBreak-, Text "\1575\1604\1581\1610\1575\1577"-, Space-, Text "\1578\1605\1591\1585"-, Space-, Text "is"-, Space-, Text "rain"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Life المطر هو الحياة ], -                      font: ("Noto Sans Arabic", -                             "PT Sans"), -                      lang: "ar"), -                 linebreak(), -                 text(body: [الحياة تمطر is rain.], -                      font: ("Noto Sans Arabic", -                             "PT Sans"), -                      lang: "ar"), -                 parbreak() })
− test/out/layout/par-bidi-05.out
@@ -1,75 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-bidi-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-bidi-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-bidi-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "L"-, Space-, Code-    "test/typ/layout/par-bidi-05.typ"-    ( line 3 , column 4 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Cm)) ])-, Space-, Text "\1512\1497\1493\1493\1495R"-, Space-, HardBreak-, Text "L\1512\1497\1493\1493\1495"-, Space-, Code-    "test/typ/layout/par-bidi-05.typ"-    ( line 4 , column 9 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Cm)) ])-, Space-, Text "R"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [L ]), -                 h(amount: 1.0cm), -                 text(body: [ ריווחR ]), -                 linebreak(), -                 text(body: [Lריווח ]), -                 h(amount: 1.0cm), -                 text(body: [ R]), -                 parbreak() })
− test/out/layout/par-bidi-06.out
@@ -1,76 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-bidi-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-bidi-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-bidi-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-bidi-06.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "he")) ])-, SoftBreak-, Text "\1511\1512\1504\1508\1497\1501Rh"-, Code-    "test/typ/layout/par-bidi-06.typ"-    ( line 4 , column 10 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/rhino.png"))-              , KeyValArg (Identifier "height") (Literal (Numeric 11.0 Pt))-              ])-       ])-, Text "ino\1495\1497\1497\1501"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-קרנפיםRh], -                      lang: "he"), -                 box(body: image(height: 11.0pt, -                                 path: "/assets/files/rhino.png")), -                 text(body: [inoחיים], -                      lang: "he"), -                 parbreak() })
− test/out/layout/par-bidi-07.out
@@ -1,67 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-bidi-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-bidi-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-bidi-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "\1575\1604\1594\1575\1604\1576"-, Space-, Code-    "test/typ/layout/par-bidi-07.typ"-    ( line 3 , column 9 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 70.0 Pt)) ])-, Space-, Text "\1606"-, Code-    "test/typ/layout/par-bidi-07.typ"-    ( line 3 , column 19 )-    (Literal (String " "))-, Text "\1577"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [الغالب ]), -                 h(amount: 70.0pt), -                 text(body: [ ن]), -                 text(body: [ ]), -                 text(body: [ة]), -                 parbreak() })
− test/out/layout/par-bidi-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/par-indent-00.out
@@ -1,265 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-indent-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-indent-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-indent-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/par-indent-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg-           (Identifier "first-line-indent") (Literal (Numeric 12.0 Pt))-       , KeyValArg (Identifier "leading") (Literal (Numeric 5.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/layout/par-indent-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/par-indent-00.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Ident (Identifier "heading")))-       (Set-          (Ident (Identifier "text"))-          [ KeyValArg (Identifier "size") (Literal (Numeric 10.0 Pt)) ]))-, ParBreak-, Text "The"-, Space-, Text "first"-, Space-, Text "paragraph"-, Space-, Text "has"-, Space-, Text "no"-, Space-, Text "indent"-, Text "."-, ParBreak-, Text "But"-, Space-, Text "the"-, Space-, Text "second"-, Space-, Text "one"-, Space-, Text "does"-, Text "."-, ParBreak-, Code-    "test/typ/layout/par-indent-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))-              , KeyValArg (Identifier "height") (Literal (Numeric 6.0 Pt))-              ])-       ])-, SoftBreak-, Text "starts"-, Space-, Text "a"-, Space-, Text "paragraph,"-, Space-, Text "also"-, Space-, Text "with"-, Space-, Text "indent"-, Text "."-, ParBreak-, Code-    "test/typ/layout/par-indent-00.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/rhino.png"))-              , KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))-              ])-       ])-, ParBreak-, Heading 1 [ Text "Headings" ]-, BulletListItem [ Text "And" , Space , Text "lists" , Text "." ]-, SoftBreak-, BulletListItem-    [ Text "Have"-    , Space-    , Text "no"-    , Space-    , Text "indent"-    , Text "."-    , ParBreak-    , Text "Except"-    , Space-    , Text "if"-    , Space-    , Text "you"-    , Space-    , Text "have"-    , Space-    , Text "another"-    , Space-    , Text "paragraph"-    , Space-    , Text "in"-    , Space-    , Text "them"-    , Text "."-    , SoftBreak-    ]-, SoftBreak-, Code-    "test/typ/layout/par-indent-00.typ"-    ( line 21 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 8.0 Pt))-       , KeyValArg (Identifier "lang") (Literal (String "ar"))-       , KeyValArg-           (Identifier "font")-           (Array-              [ Reg (Literal (String "Noto Sans Arabic"))-              , Reg (Literal (String "Linux Libertine"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/layout/par-indent-00.typ"-    ( line 22 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "leading") (Literal (Numeric 8.0 Pt)) ])-, ParBreak-, Heading 1 [ Text "Arabic" ]-, Text "\1583\1593"-, Space-, Text "\1575\1604\1606\1589"-, Space-, Text "\1610\1605\1591\1585"-, Space-, Text "\1593\1604\1610\1603"-, ParBreak-, Text "\1579\1605"-, Space-, Text "\1610\1589\1576\1581"-, Space-, Text "\1575\1604\1606\1589"-, Space-, Text "\1585\1591\1576\1611\1575"-, Space-, Text "\1608\1602\1575\1576\1604"-, Space-, Text "\1604\1604\1591\1585\1602"-, Space-, Text "\1608\1610\1576\1583\1608"-, Space-, Text "\1575\1604\1605\1587\1578\1606\1583"-, Space-, Text "\1585\1575\1574\1593\1611\1575"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [The first paragraph has no indent.]), -                 parbreak(), -                 text(body: [But the second one does.]), -                 parbreak(), -                 box(body: image(height: 6.0pt, -                                 path: "/assets/files/tiger.jpg")), -                 text(body: [-starts a paragraph, also with indent.]), -                 parbreak(), -                 align(alignment: center, -                       body: image(path: "/assets/files/rhino.png", -                                   width: 1.0cm)), -                 parbreak(), -                 heading(body: text(body: [Headings]), -                         level: 1), -                 list(children: (text(body: [And lists.]), -                                 { text(body: [Have no indent.]), -                                   parbreak(), -                                   text(body: [Except if you have another paragraph in them.-]) })), -                 text(body: [-], -                      font: ("Noto Sans Arabic", -                             "Linux Libertine"), -                      lang: "ar", -                      size: 8.0pt), -                 parbreak(), -                 heading(body: text(body: [Arabic], -                                    font: ("Noto Sans Arabic", -                                           "Linux Libertine"), -                                    lang: "ar", -                                    size: 8.0pt), -                         level: 1), -                 text(body: [دع النص يمطر عليك], -                      font: ("Noto Sans Arabic", -                             "Linux Libertine"), -                      lang: "ar", -                      size: 8.0pt), -                 parbreak(), -                 text(body: [ثم يصبح النص رطبًا وقابل للطرق ويبدو المستند رائعًا.], -                      font: ("Noto Sans Arabic", -                             "Linux Libertine"), -                      lang: "ar", -                      size: 8.0pt), -                 parbreak() })
− test/out/layout/par-indent-01.out
@@ -1,80 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-indent-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-indent-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-indent-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-indent-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg-           (Identifier "first-line-indent") (Literal (Numeric 12.0 Pt))-       ])-, SoftBreak-, Text "Why"-, Space-, Text "would"-, Space-, Text "anybody"-, Space-, Text "ever"-, Space-, Ellipsis-, ParBreak-, Ellipsis-, Space-, Text "want"-, Space-, Text "spacing"-, Space-, Text "and"-, Space-, Text "indent?"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Why would anybody ever …]), -                 parbreak(), -                 text(body: [… want spacing and indent?]), -                 parbreak() })
− test/out/layout/par-indent-02.out
@@ -1,66 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-indent-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-indent-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-indent-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-indent-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg-           (Identifier "hanging-indent") (Literal (Numeric 15.0 Pt))-       , KeyValArg (Identifier "justify") (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/layout/par-indent-02.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 10)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do]), -                 parbreak() })
− test/out/layout/par-indent-03.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-indent-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-indent-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-indent-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/par-indent-03.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg-           (Identifier "hanging-indent") (Literal (Numeric 1.0 Em))-       ])-, SoftBreak-, Text "Welcome"-, Space-, HardBreak-, Text "here"-, Text "."-, Space-, Text "Does"-, Space-, Text "this"-, Space-, Text "work"-, Space-, Text "well?"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Welcome ]), -                 linebreak(), -                 text(body: [here. Does this work well?]), -                 parbreak() })
− test/out/layout/par-indent-04.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-indent-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-indent-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-indent-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/par-indent-04.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg-           (Identifier "hanging-indent") (Literal (Numeric 2.0 Em))-       ])-, SoftBreak-, Code-    "test/typ/layout/par-indent-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])-, SoftBreak-, Text "\1604\1570\1606"-, Space-, Text "\1608\1602\1583"-, Space-, Text "\1571\1592\1604\1605"-, Space-, Text "\1575\1604\1604\1610\1604"-, Space-, Text "\1608\1576\1583\1571\1578"-, Space-, Text "\1575\1604\1606\1580\1608\1605"-, SoftBreak-, Text "\1578\1606\1590\1582"-, Space-, Text "\1608\1580\1607"-, Space-, Text "\1575\1604\1591\1576\1610\1593\1577"-, Space-, Text "\1575\1604\1578\1610"-, Space-, Text "\1571\1593\1618\1610\1614\1578\1618"-, Space-, Text "\1605\1606"-, Space-, Text "\1591\1608\1604"-, Space-, Text "\1605\1575"-, Space-, Text "\1575\1606\1576\1593\1579\1578"-, Space-, Text "\1601\1610"-, Space-, Text "\1575\1604\1606\1607\1575\1585"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-لآن وقد أظلم الليل وبدأت النجوم-تنضخ وجه الطبيعة التي أعْيَتْ من طول ما انبعثت في النهار], -                      dir: rtl), -                 parbreak() })
− test/out/layout/par-justify-00.out
@@ -1,148 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-justify-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-justify-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-justify-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/par-justify-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True))-       , KeyValArg-           (Identifier "first-line-indent") (Literal (Numeric 14.0 Pt))-       , KeyValArg (Identifier "leading") (Literal (Numeric 5.0 Pt))-       ])-, ParBreak-, Text "This"-, Space-, Text "text"-, Space-, Text "is"-, Space-, Text "justified,"-, Space-, Text "meaning"-, Space-, Text "that"-, Space-, Text "spaces"-, Space-, Text "are"-, Space-, Text "stretched"-, Space-, Text "so"-, Space-, Text "that"-, Space-, Text "the"-, Space-, Text "text"-, SoftBreak-, Text "forms"-, Space-, Text "a"-, Space-, Quote '"'-, Text "block"-, Quote '"'-, Space-, Text "with"-, Space-, Text "flush"-, Space-, Text "edges"-, Space-, Text "at"-, Space-, Text "both"-, Space-, Text "sides"-, Text "."-, ParBreak-, Text "First"-, Space-, Text "line"-, Space-, Text "indents"-, Space-, Text "and"-, Space-, Text "hyphenation"-, Space-, Text "play"-, Space-, Text "nicely"-, Space-, Text "with"-, Space-, Text "justified"-, Space-, Text "text"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [This text is justified, meaning that spaces are stretched so that the text-forms a “block” with flush edges at both sides.]), -                 parbreak(), -                 text(body: [First line indents and hyphenation play nicely with justified text.]), -                 parbreak() })
− test/out/layout/par-justify-01.out
@@ -1,67 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-justify-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-justify-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-justify-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-justify-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Text "A"-, Space-, Text "B"-, Space-, Text "C"-, Space-, HardBreak-, Text "D"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-A B C ]), -                 linebreak(), -                 text(body: [D]), -                 parbreak() })
− test/out/layout/par-justify-02.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-justify-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-justify-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-justify-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Space-, Text "B"-, Space-, Text "C"-, Space-, Code-    "test/typ/layout/par-justify-02.typ"-    ( line 3 , column 8 )-    (FuncCall-       (Ident (Identifier "linebreak"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Text "D"-, Space-, Text "E"-, Space-, Text "F"-, Space-, Code-    "test/typ/layout/par-justify-02.typ"-    ( line 4 , column 8 )-    (FuncCall-       (Ident (Identifier "linebreak"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A B C ]), -                 linebreak(justify: true), -                 text(body: [-D E F ]), -                 linebreak(justify: true), -                 parbreak() })
− test/out/layout/par-justify-03.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-justify-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-justify-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-justify-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/layout/par-justify-03.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-03.typ"-    ( line 5 , column 2 )-    (Literal (String ""))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak() })
− test/out/layout/par-justify-04.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-justify-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-justify-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-justify-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-justify-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 155.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-04.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Text "This"-, Space-, Text "text"-, Space-, Text "can"-, Space-, Text "be"-, Space-, Text "fitted"-, Space-, Text "in"-, Space-, Text "one"-, Space-, Text "line"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-This text can be fitted in one line.]), -                 parbreak() })
− test/out/layout/par-justify-cjk-00.out
@@ -1,117 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-justify-cjk-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-justify-cjk-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-justify-cjk-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Comment-, Comment-, Code-    "test/typ/layout/par-justify-cjk-00.typ"-    ( line 7 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-cjk-00.typ"-    ( line 8 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-cjk-00.typ"-    ( line 9 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font") (Literal (String "Noto Serif CJK SC"))-       , KeyValArg (Identifier "lang") (Literal (String "zh"))-       ])-, ParBreak-, Code-    "test/typ/layout/par-justify-cjk-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))-       , KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))-       , KeyValArg-           (Identifier "fill")-           (FuncCall-              (Ident (Identifier "rgb")) [ NormalArg (Literal (String "eee")) ])-       , BlockArg-           [ SoftBreak-           , Text-               "\20013\25991\32500\22522\30334\31185\20351\29992\27721\23383\20070\20889\65292\27721\23383\26159\27721\26063\25110\21326\20154\30340\20849\21516\25991\23383\65292\26159\20013\22269\22823\38470\12289\26032\21152\22369\12289\39532\26469\35199\20122\12289\21488\28286\12289\39321\28207\12289\28595\38376\30340\21807\19968\23448\26041\25991\23383\25110\23448\26041\25991\23383\20043\19968\12290\&25"-           , Text "."-           , Text-               "9%\65292\32780\32654\22269\21644\33655\20848\21017\20998\21029\21344\&13"-           , Text "."-           , Text "7%\21450\&8"-           , Text "."-           , Text-               "2%\12290\36817\24180\20358\65292\20013\22269\22823\38470\22320\21306\30340\32500\22522\30334\31185\32534\36753\32773\27491\22312\36805\36895\22686\21152\65307"-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 rect(body: { text(body: [-中文维基百科使用汉字书写,汉字是汉族或华人的共同文字,是中国大陆、新加坡、马来西亚、台湾、香港、澳门的唯一官方文字或官方文字之一。25.9%,而美国和荷兰则分別占13.7%及8.2%。近年來,中国大陆地区的维基百科编辑者正在迅速增加;], -                                   font: "Noto Serif CJK SC", -                                   lang: "zh"), -                              parbreak() }, -                      fill: rgb(5%,5%,5%,100%), -                      inset: 0.0pt, -                      width: 80.0pt), -                 parbreak() })
− test/out/layout/par-justify-cjk-01.out
@@ -1,121 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-justify-cjk-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-justify-cjk-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-justify-cjk-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-justify-cjk-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-cjk-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-cjk-01.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "jp")) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-cjk-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))-       , KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))-       , KeyValArg-           (Identifier "fill")-           (FuncCall-              (Ident (Identifier "rgb")) [ NormalArg (Literal (String "eee")) ])-       , BlockArg-           [ SoftBreak-           , Text "\12454\12451\12461\12506\12487\12451\12450\65288\33521"-           , Text ":"-           , Space-           , Text-               "Wikipedia\65289\12399\12289\19990\30028\20013\12398\12508\12521\12531\12486\12451\12450\12398\20849\21516\20316\26989\12395\12424\12387\12390\22519\31558\21450\12403\20316\25104\12373\12428\12427\12501\12522\12540\12398\22810\35328\35486\12452\12531\12479\12540\12493\12483\12488\30334\31185\20107\20856\12391\12354\12427\12290\20027\12395\23492\20184\12395\20381\12387\12390\27963\21205\12375\12390\12356\12427\38750\21942\21033\22243\20307\12300\12454\12451\12461\12513\12487\12451\12450\36001\22243\12301\12364\25152\26377\12539\36939\21942\12375\12390\12356\12427\12290"-           , ParBreak-           , Text-               "\23554\38272\23478\12395\12424\12427\12458\12531\12521\12452\12531\30334\31185\20107\20856\12503\12525\12472\12455\12463\12488Nupedia\65288\12492\12540\12506\12487\12451\12450\65289\12434\21069\36523\12392\12375\12390\12289\&2001\24180\&1\26376\12289\12521\12522\12540\12539\12469\12531\12460\12540\12392\12472\12511\12540\12539\12454\12455\12540\12523\12474\65288\33521"-           , Text ":"-           , Space-           , Text "Jimmy"-           , Space-           , Text "Donal"-           , Space-           , Quote '"'-           , Text "Jimbo"-           , Quote '"'-           , Space-           , Text-               "Wales\65289\12395\12424\12426\33521\35486\12391\12503\12525\12472\12455\12463\12488\12364\38283\22987\12373\12428\12383\12290"-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-], lang: "jp"), -                 rect(body: { text(body: [-ウィキペディア(英: Wikipedia)は、世界中のボランティアの共同作業によって執筆及び作成されるフリーの多言語インターネット百科事典である。主に寄付に依って活動している非営利団体「ウィキメディア財団」が所有・運営している。], -                                   lang: "jp"), -                              parbreak(), -                              text(body: [専門家によるオンライン百科事典プロジェクトNupedia(ヌーペディア)を前身として、2001年1月、ラリー・サンガーとジミー・ウェールズ(英: Jimmy Donal “Jimbo” Wales)により英語でプロジェクトが開始された。], -                                   lang: "jp"), -                              parbreak() }, -                      fill: rgb(5%,5%,5%,100%), -                      inset: 0.0pt, -                      width: 80.0pt), -                 parbreak() })
− test/out/layout/par-justify-cjk-02.out
@@ -1,120 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-justify-cjk-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-justify-cjk-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-justify-cjk-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-justify-cjk-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-cjk-02.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "zh"))-       , KeyValArg-           (Identifier "font") (Literal (String "Noto Serif CJK SC"))-       ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-cjk-02.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-cjk-02.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))-       , KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))-       , KeyValArg-           (Identifier "fill")-           (FuncCall-              (Ident (Identifier "rgb")) [ NormalArg (Literal (String "eee")) ])-       , BlockArg-           [ SoftBreak-           , Text "\8220\24341\21495\27979\35797\8221\65292\36824\65292"-           , ParBreak-           , Text-               "\12298\20070\21517\12299\12298\27979\35797\12299\19979\19968\34892"-           , ParBreak-           , Text "\12298\20070\21517\12299\12298\27979\35797\12299\12290"-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      font: "Noto Serif CJK SC", -                      lang: "zh"), -                 text(body: [-], -                      font: "Noto Serif CJK SC", -                      lang: "zh"), -                 rect(body: { text(body: [-“引号测试”,还,], -                                   font: "Noto Serif CJK SC", -                                   lang: "zh"), -                              parbreak(), -                              text(body: [《书名》《测试》下一行], -                                   font: "Noto Serif CJK SC", -                                   lang: "zh"), -                              parbreak(), -                              text(body: [《书名》《测试》。], -                                   font: "Noto Serif CJK SC", -                                   lang: "zh"), -                              parbreak() }, -                      fill: rgb(5%,5%,5%,100%), -                      inset: 0.0pt, -                      width: 80.0pt), -                 parbreak() })
− test/out/layout/par-justify-cjk-03.out
@@ -1,118 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-justify-cjk-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-justify-cjk-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-justify-cjk-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/layout/par-justify-cjk-03.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg-           (Identifier "width")-           (Plus (Literal (Numeric 170.0 Pt)) (Literal (Numeric 10.0 Pt)))-       , KeyValArg-           (Identifier "margin")-           (Dict-              [ Reg ( Ident (Identifier "x") , Literal (Numeric 5.0 Pt) ) ])-       ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-cjk-03.typ"-    ( line 6 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font") (Literal (String "Noto Serif CJK SC"))-       , KeyValArg (Identifier "lang") (Literal (String "zh"))-       ])-, SoftBreak-, Code-    "test/typ/layout/par-justify-cjk-03.typ"-    ( line 7 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, ParBreak-, Text-    "\23380\38592\26368\26089\35265\20110\12298\23665\28023\32463\12299\20013\30340\12298\28023\20869\32463\12299\65306"-, Text "\8203"-, Text-    "\8220\26377\23380\38592\12290\8221\19996\27721\26472\23386\33879\12298\24322\29289\24535\12299\35760\36733\65292\23725\21335\65306\8220\23380\38592\65292\20854\22823\22914\22823\38593\32780\36275\39640\65292\27611\30342\26377\26001\32441\24425\65292\25429\32780\33988\20043\65292\25293\25163\21363\33310\12290\8221"-, ParBreak-, Code-    "test/typ/layout/par-justify-cjk-03.typ"-    ( line 11 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font") (Literal (String "Noto Serif CJK TC"))-       , KeyValArg (Identifier "lang") (Literal (String "zh"))-       , KeyValArg (Identifier "region") (Literal (String "hk"))-       ])-, SoftBreak-, Text-    "\23380\38592\26368\26089\35265\20110\12298\23665\28023\32463\12299\20013\30340\12298\28023\20869\32463\12299\65306\12300\26377\23380\38592\12290\12301\19996\27721\26472\23386\33879\12298\24322\29289\24535\12299\35760\36733\65292\23725\21335\65306\12300\23380\38592\65292\20854\22823\22914\22823\38593\32780\36275\39640\65292\27611\30342\26377\26001\32441\24425\65292\25429\32780\33988\20043\65292\25293\25163\21363\33310\12290\12301"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      font: "Noto Serif CJK SC", -                      lang: "zh"), -                 parbreak(), -                 text(body: [孔雀最早见于《山海经》中的《海内经》:​“有孔雀。”东汉杨孚著《异物志》记载,岭南:“孔雀,其大如大雁而足高,毛皆有斑纹彩,捕而蓄之,拍手即舞。”], -                      font: "Noto Serif CJK SC", -                      lang: "zh"), -                 parbreak(), -                 text(body: [-孔雀最早见于《山海经》中的《海内经》:「有孔雀。」东汉杨孚著《异物志》记载,岭南:「孔雀,其大如大雁而足高,毛皆有斑纹彩,捕而蓄之,拍手即舞。」], -                      font: "Noto Serif CJK TC", -                      lang: "zh", -                      region: "hk"), -                 parbreak() })
− test/out/layout/par-knuth-00.out
@@ -1,518 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-knuth-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-knuth-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-knuth-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/par-knuth-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto)-       , KeyValArg (Identifier "height") (Literal Auto)-       ])-, SoftBreak-, Code-    "test/typ/layout/par-knuth-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "leading") (Literal (Numeric 4.0 Pt))-       , KeyValArg (Identifier "justify") (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/layout/par-knuth-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font") (Literal (String "New Computer Modern"))-       ])-, ParBreak-, Code-    "test/typ/layout/par-knuth-00.typ"-    ( line 6 , column 2 )-    (Let-       (BasicBind (Just (Identifier "story")))-       (Block-          (Content-             [ SoftBreak-             , Text "In"-             , Space-             , Text "olden"-             , Space-             , Text "times"-             , Space-             , Text "when"-             , Space-             , Text "wishing"-             , Space-             , Text "still"-             , Space-             , Text "helped"-             , Space-             , Text "one,"-             , Space-             , Text "there"-             , Space-             , Text "lived"-             , Space-             , Text "a"-             , Space-             , Text "king"-             , Space-             , Text "whose"-             , SoftBreak-             , Text "daughters"-             , Space-             , Text "were"-             , Space-             , Text "all"-             , Space-             , Text "beautiful;"-             , Space-             , Text "and"-             , Space-             , Text "the"-             , Space-             , Text "youngest"-             , Space-             , Text "was"-             , Space-             , Text "so"-             , Space-             , Text "beautiful"-             , Space-             , Text "that"-             , Space-             , Text "the"-             , Space-             , Text "sun"-             , SoftBreak-             , Text "itself,"-             , Space-             , Text "which"-             , Space-             , Text "has"-             , Space-             , Text "seen"-             , Space-             , Text "so"-             , Space-             , Text "much,"-             , Space-             , Text "was"-             , Space-             , Text "astonished"-             , Space-             , Text "whenever"-             , Space-             , Text "it"-             , Space-             , Text "shone"-             , Space-             , Text "in"-             , Space-             , Text "her"-             , Space-             , Text "face"-             , Text "."-             , SoftBreak-             , Text "Close"-             , Space-             , Text "by"-             , Space-             , Text "the"-             , Space-             , Text "king\8217s"-             , Space-             , Text "castle"-             , Space-             , Text "lay"-             , Space-             , Text "a"-             , Space-             , Text "great"-             , Space-             , Text "dark"-             , Space-             , Text "red,"-             , Space-             , Text "and"-             , Space-             , Text "under"-             , Space-             , Text "an"-             , Space-             , Text "old"-             , Space-             , Text "lime"-             , Text "-"-             , Text "tree"-             , SoftBreak-             , Text "in"-             , Space-             , Text "the"-             , Space-             , Text "red"-             , Space-             , Text "was"-             , Space-             , Text "a"-             , Space-             , Text "well,"-             , Space-             , Text "and"-             , Space-             , Text "when"-             , Space-             , Text "the"-             , Space-             , Text "day"-             , Space-             , Text "was"-             , Space-             , Text "very"-             , Space-             , Text "warm,"-             , Space-             , Text "the"-             , Space-             , Text "king\8217s"-             , Space-             , Text "child"-             , SoftBreak-             , Text "went"-             , Space-             , Text "out"-             , Space-             , Text "into"-             , Space-             , Text "the"-             , Space-             , Text "red"-             , Space-             , Text "and"-             , Space-             , Text "sat"-             , Space-             , Text "down"-             , Space-             , Text "by"-             , Space-             , Text "the"-             , Space-             , Text "side"-             , Space-             , Text "of"-             , Space-             , Text "the"-             , Space-             , Text "cool"-             , Space-             , Text "fountain;"-             , Space-             , Text "and"-             , SoftBreak-             , Text "when"-             , Space-             , Text "she"-             , Space-             , Text "was"-             , Space-             , Text "bored"-             , Space-             , Text "she"-             , Space-             , Text "took"-             , Space-             , Text "a"-             , Space-             , Text "golden"-             , Space-             , Text "ball,"-             , Space-             , Text "and"-             , Space-             , Text "threw"-             , Space-             , Text "it"-             , Space-             , Text "up"-             , Space-             , Text "on"-             , Space-             , Text "high"-             , Space-             , Text "and"-             , Space-             , Text "caught"-             , SoftBreak-             , Text "it;"-             , Space-             , Text "and"-             , Space-             , Text "this"-             , Space-             , Text "ball"-             , Space-             , Text "was"-             , Space-             , Text "her"-             , Space-             , Text "favorite"-             , Space-             , Text "plaything"-             , Text "."-             , ParBreak-             ])))-, ParBreak-, Code-    "test/typ/layout/par-knuth-00.typ"-    ( line 17 , column 2 )-    (LetFunc-       (Identifier "column")-       [ NormalParam (Identifier "title")-       , NormalParam (Identifier "linebreaks")-       , NormalParam (Identifier "hyphenate")-       ]-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "rect"))-                 [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))-                 , KeyValArg (Identifier "width") (Literal (Numeric 132.0 Pt))-                 , KeyValArg-                     (Identifier "fill")-                     (FuncCall-                        (Ident (Identifier "rgb")) [ NormalArg (Literal (String "eee")) ])-                 , BlockArg-                     [ SoftBreak-                     , Code-                         "test/typ/layout/par-knuth-00.typ"-                         ( line 19 , column 6 )-                         (Set-                            (Ident (Identifier "par"))-                            [ KeyValArg-                                (Identifier "linebreaks") (Ident (Identifier "linebreaks"))-                            ])-                     , SoftBreak-                     , Code-                         "test/typ/layout/par-knuth-00.typ"-                         ( line 20 , column 6 )-                         (Set-                            (Ident (Identifier "text"))-                            [ KeyValArg-                                (Identifier "hyphenate") (Ident (Identifier "hyphenate"))-                            ])-                     , SoftBreak-                     , Code-                         "test/typ/layout/par-knuth-00.typ"-                         ( line 21 , column 6 )-                         (FuncCall-                            (Ident (Identifier "strong"))-                            [ NormalArg (Ident (Identifier "title")) ])-                     , Space-                     , HardBreak-                     , Code-                         "test/typ/layout/par-knuth-00.typ"-                         ( line 21 , column 23 )-                         (Ident (Identifier "story"))-                     , ParBreak-                     ]-                 ]-             ])))-, ParBreak-, Code-    "test/typ/layout/par-knuth-00.typ"-    ( line 25 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg (Identifier "columns") (Literal (Int 3))-       , KeyValArg (Identifier "gutter") (Literal (Numeric 10.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "column"))-              [ NormalArg-                  (Block-                     (Content-                        [ Text "Simple"-                        , Space-                        , Text "without"-                        , Space-                        , Text "hyphens"-                        ]))-              , NormalArg (Literal (String "simple"))-              , NormalArg (Literal (Boolean False))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "column"))-              [ NormalArg-                  (Block-                     (Content-                        [ Text "Simple" , Space , Text "with" , Space , Text "hyphens" ]))-              , NormalArg (Literal (String "simple"))-              , NormalArg (Literal (Boolean True))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "column"))-              [ NormalArg-                  (Block-                     (Content-                        [ Text "Optimized"-                        , Space-                        , Text "with"-                        , Space-                        , Text "hyphens"-                        ]))-              , NormalArg (Literal (String "optimized"))-              , NormalArg (Literal (Boolean True))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 grid(children: (rect(body: { text(body: [-], -                                                   font: "New Computer Modern"), -                                              text(body: [-], -                                                   font: "New Computer Modern"), -                                              text(body: [-], -                                                   font: "New Computer Modern", -                                                   hyphenate: false), -                                              strong(body: text(body: [Simple without hyphens], -                                                                font: "New Computer Modern")), -                                              text(body: [ ], -                                                   font: "New Computer Modern", -                                                   hyphenate: false), -                                              linebreak(), -                                              text(body: [-In olden times when wishing still helped one, there lived a king whose-daughters were all beautiful; and the youngest was so beautiful that the sun-itself, which has seen so much, was astonished whenever it shone in her face.-Close by the king’s castle lay a great dark red, and under an old lime-tree-in the red was a well, and when the day was very warm, the king’s child-went out into the red and sat down by the side of the cool fountain; and-when she was bored she took a golden ball, and threw it up on high and caught-it; and this ball was her favorite plaything.], -                                                   font: "New Computer Modern"), -                                              parbreak(), -                                              parbreak() }, -                                      fill: rgb(5%,5%,5%,100%), -                                      inset: 0.0pt, -                                      width: 132.0pt), -                                 rect(body: { text(body: [-], -                                                   font: "New Computer Modern"), -                                              text(body: [-], -                                                   font: "New Computer Modern"), -                                              text(body: [-], -                                                   font: "New Computer Modern", -                                                   hyphenate: true), -                                              strong(body: text(body: [Simple with hyphens], -                                                                font: "New Computer Modern")), -                                              text(body: [ ], -                                                   font: "New Computer Modern", -                                                   hyphenate: true), -                                              linebreak(), -                                              text(body: [-In olden times when wishing still helped one, there lived a king whose-daughters were all beautiful; and the youngest was so beautiful that the sun-itself, which has seen so much, was astonished whenever it shone in her face.-Close by the king’s castle lay a great dark red, and under an old lime-tree-in the red was a well, and when the day was very warm, the king’s child-went out into the red and sat down by the side of the cool fountain; and-when she was bored she took a golden ball, and threw it up on high and caught-it; and this ball was her favorite plaything.], -                                                   font: "New Computer Modern"), -                                              parbreak(), -                                              parbreak() }, -                                      fill: rgb(5%,5%,5%,100%), -                                      inset: 0.0pt, -                                      width: 132.0pt), -                                 rect(body: { text(body: [-], -                                                   font: "New Computer Modern"), -                                              text(body: [-], -                                                   font: "New Computer Modern"), -                                              text(body: [-], -                                                   font: "New Computer Modern", -                                                   hyphenate: true), -                                              strong(body: text(body: [Optimized with hyphens], -                                                                font: "New Computer Modern")), -                                              text(body: [ ], -                                                   font: "New Computer Modern", -                                                   hyphenate: true), -                                              linebreak(), -                                              text(body: [-In olden times when wishing still helped one, there lived a king whose-daughters were all beautiful; and the youngest was so beautiful that the sun-itself, which has seen so much, was astonished whenever it shone in her face.-Close by the king’s castle lay a great dark red, and under an old lime-tree-in the red was a well, and when the day was very warm, the king’s child-went out into the red and sat down by the side of the cool fountain; and-when she was bored she took a golden ball, and threw it up on high and caught-it; and this ball was her favorite plaything.], -                                                   font: "New Computer Modern"), -                                              parbreak(), -                                              parbreak() }, -                                      fill: rgb(5%,5%,5%,100%), -                                      inset: 0.0pt, -                                      width: 132.0pt)), -                      columns: 3, -                      gutter: 10.0pt), -                 parbreak() })
− test/out/layout/par-simple-00.out
@@ -1,488 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/par-simple-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/par-simple-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/par-simple-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/par-simple-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 250.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 120.0 Pt))-       ])-, ParBreak-, Text "But,"-, Space-, Text "soft!"-, Space-, Text "what"-, Space-, Text "light"-, Space-, Text "through"-, Space-, Text "yonder"-, Space-, Text "window"-, Space-, Text "breaks?"-, Space-, Text "It"-, Space-, Text "is"-, Space-, Text "the"-, Space-, Text "east,"-, Space-, Text "and"-, Space-, Text "Juliet"-, SoftBreak-, Text "is"-, Space-, Text "the"-, Space-, Text "sun"-, Text "."-, Space-, Text "Arise,"-, Space-, Text "fair"-, Space-, Text "sun,"-, Space-, Text "and"-, Space-, Text "kill"-, Space-, Text "the"-, Space-, Text "envious"-, Space-, Text "moon,"-, Space-, Text "Who"-, Space-, Text "is"-, Space-, Text "already"-, Space-, Text "sick"-, Space-, Text "and"-, SoftBreak-, Text "pale"-, Space-, Text "with"-, Space-, Text "grief,"-, Space-, Text "That"-, Space-, Text "thou"-, Space-, Text "her"-, Space-, Text "maid"-, Space-, Text "art"-, Space-, Text "far"-, Space-, Text "more"-, Space-, Text "fair"-, Space-, Text "than"-, Space-, Text "she"-, Text ":"-, Space-, Text "Be"-, Space-, Text "not"-, Space-, Text "her"-, Space-, Text "maid,"-, SoftBreak-, Text "since"-, Space-, Text "she"-, Space-, Text "is"-, Space-, Text "envious;"-, Space-, Text "Her"-, Space-, Text "vestal"-, Space-, Text "livery"-, Space-, Text "is"-, Space-, Text "but"-, Space-, Text "sick"-, Space-, Text "and"-, Space-, Text "green"-, Space-, Text "And"-, Space-, Text "none"-, Space-, Text "but"-, Space-, Text "fools"-, SoftBreak-, Text "do"-, Space-, Text "wear"-, Space-, Text "it;"-, Space-, Text "cast"-, Space-, Text "it"-, Space-, Text "off"-, Text "."-, Space-, Text "It"-, Space-, Text "is"-, Space-, Text "my"-, Space-, Text "lady,"-, Space-, Text "O,"-, Space-, Text "it"-, Space-, Text "is"-, Space-, Text "my"-, Space-, Text "love!"-, Space-, Text "O,"-, Space-, Text "that"-, Space-, Text "she"-, Space-, Text "knew"-, Space-, Text "she"-, SoftBreak-, Text "were!"-, Space-, Text "She"-, Space-, Text "speaks"-, Space-, Text "yet"-, Space-, Text "she"-, Space-, Text "says"-, Space-, Text "nothing"-, Text ":"-, Space-, Text "what"-, Space-, Text "of"-, Space-, Text "that?"-, Space-, Text "Her"-, Space-, Text "eye"-, Space-, Text "discourses;"-, Space-, Text "I"-, Space-, Text "will"-, SoftBreak-, Text "answer"-, Space-, Text "it"-, Text "."-, ParBreak-, Text "I"-, Space-, Text "am"-, Space-, Text "too"-, Space-, Text "bold,"-, Space-, Quote '\''-, Text "tis"-, Space-, Text "not"-, Space-, Text "to"-, Space-, Text "me"-, Space-, Text "she"-, Space-, Text "speaks"-, Text ":"-, Space-, Text "Two"-, Space-, Text "of"-, Space-, Text "the"-, Space-, Text "fairest"-, Space-, Text "stars"-, Space-, Text "in"-, Space-, Text "all"-, Space-, Text "the"-, SoftBreak-, Text "heaven,"-, Space-, Text "Having"-, Space-, Text "some"-, Space-, Text "business,"-, Space-, Text "do"-, Space-, Text "entreat"-, Space-, Text "her"-, Space-, Text "eyes"-, Space-, Text "To"-, Space-, Text "twinkle"-, Space-, Text "in"-, Space-, Text "their"-, Space-, Text "spheres"-, SoftBreak-, Text "till"-, Space-, Text "they"-, Space-, Text "return"-, Text "."-, Space-, Text "What"-, Space-, Text "if"-, Space-, Text "her"-, Space-, Text "eyes"-, Space-, Text "were"-, Space-, Text "there,"-, Space-, Text "they"-, Space-, Text "in"-, Space-, Text "her"-, Space-, Text "head?"-, Space-, Text "The"-, Space-, Text "brightness"-, SoftBreak-, Text "of"-, Space-, Text "her"-, Space-, Text "cheek"-, Space-, Text "would"-, Space-, Text "shame"-, Space-, Text "those"-, Space-, Text "stars,"-, Space-, Text "As"-, Space-, Text "daylight"-, Space-, Text "doth"-, Space-, Text "a"-, Space-, Text "lamp;"-, Space-, Text "her"-, Space-, Text "eyes"-, Space-, Text "in"-, SoftBreak-, Text "heaven"-, Space-, Text "Would"-, Space-, Text "through"-, Space-, Text "the"-, Space-, Text "airy"-, Space-, Text "region"-, Space-, Text "stream"-, Space-, Text "so"-, Space-, Text "bright"-, Space-, Text "That"-, Space-, Text "birds"-, Space-, Text "would"-, Space-, Text "sing"-, Space-, Text "and"-, SoftBreak-, Text "think"-, Space-, Text "it"-, Space-, Text "were"-, Space-, Text "not"-, Space-, Text "night"-, Text "."-, Space-, Text "See,"-, Space-, Text "how"-, Space-, Text "she"-, Space-, Text "leans"-, Space-, Text "her"-, Space-, Text "cheek"-, Space-, Text "upon"-, Space-, Text "her"-, Space-, Text "hand!"-, Space-, Text "O,"-, Space-, Text "that"-, Space-, Text "I"-, SoftBreak-, Text "were"-, Space-, Text "a"-, Space-, Text "glove"-, Space-, Text "upon"-, Space-, Text "that"-, Space-, Text "hand,"-, Space-, Text "That"-, Space-, Text "I"-, Space-, Text "might"-, Space-, Text "touch"-, Space-, Text "that"-, Space-, Text "cheek!"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [But, soft! what light through yonder window breaks? It is the east, and Juliet-is the sun. Arise, fair sun, and kill the envious moon, Who is already sick and-pale with grief, That thou her maid art far more fair than she: Be not her maid,-since she is envious; Her vestal livery is but sick and green And none but fools-do wear it; cast it off. It is my lady, O, it is my love! O, that she knew she-were! She speaks yet she says nothing: what of that? Her eye discourses; I will-answer it.]), -                 parbreak(), -                 text(body: [I am too bold, ‘tis not to me she speaks: Two of the fairest stars in all the-heaven, Having some business, do entreat her eyes To twinkle in their spheres-till they return. What if her eyes were there, they in her head? The brightness-of her cheek would shame those stars, As daylight doth a lamp; her eyes in-heaven Would through the airy region stream so bright That birds would sing and-think it were not night. See, how she leans her cheek upon her hand! O, that I-were a glove upon that hand, That I might touch that cheek!]), -                 parbreak() })
− test/out/layout/place-00.out
@@ -1,241 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/place-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/place-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/place-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/place-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page")) [ NormalArg (Literal (String "a8")) ])-, SoftBreak-, Code-    "test/typ/layout/place-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "place"))-       [ NormalArg-           (Plus (Ident (Identifier "bottom")) (Ident (Identifier "center")))-       , BlockArg [ Text "\169" , Space , Text "Typst" ]-       ])-, ParBreak-, Heading 1 [ Text "Placement" ]-, Code-    "test/typ/layout/place-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "place"))-       [ NormalArg (Ident (Identifier "right"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))-              , KeyValArg (Identifier "width") (Literal (Numeric 1.8 Cm))-              ])-       ])-, SoftBreak-, Text "Hi"-, Space-, Text "there"-, Text "."-, Space-, Text "This"-, Space-, Text "is"-, Space-, HardBreak-, Text "a"-, Space-, Text "placed"-, Space-, Text "element"-, Text "."-, Space-, HardBreak-, Text "Unfortunately,"-, Space-, HardBreak-, Text "the"-, Space-, Text "line"-, Space-, Text "breaks"-, Space-, Text "still"-, Space-, Text "had"-, Space-, Text "to"-, Space-, Text "be"-, Space-, Text "inserted"-, Space-, Text "manually"-, Text "."-, ParBreak-, Code-    "test/typ/layout/place-00.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-              , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "place"))-              [ NormalArg (Ident (Identifier "right"))-              , KeyValArg (Identifier "dy") (Literal (Numeric 1.5 Pt))-              , BlockArg [ Text "ABC" ]-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-              , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-              , KeyValArg (Identifier "width") (Literal (Numeric 80.0 Percent))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              ])-       , NormalArg (Literal (Numeric 10.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "block"))-              [ BlockArg-                  [ SoftBreak-                  , Code-                      "test/typ/layout/place-00.typ"-                      ( line 19 , column 6 )-                      (FuncCall-                         (Ident (Identifier "place"))-                         [ NormalArg (Ident (Identifier "center"))-                         , KeyValArg (Identifier "dx") (Negated (Literal (Numeric 7.0 Pt)))-                         , KeyValArg (Identifier "dy") (Negated (Literal (Numeric 5.0 Pt)))-                         , BlockArg [ Text "Hello" ]-                         ])-                  , SoftBreak-                  , Code-                      "test/typ/layout/place-00.typ"-                      ( line 20 , column 6 )-                      (FuncCall-                         (Ident (Identifier "place"))-                         [ NormalArg (Ident (Identifier "center"))-                         , KeyValArg (Identifier "dx") (Literal (Numeric 7.0 Pt))-                         , KeyValArg (Identifier "dy") (Literal (Numeric 5.0 Pt))-                         , BlockArg [ Text "Hello" ]-                         ])-                  , SoftBreak-                  , Text "Hello"-                  , Space-                  , Code-                      "test/typ/layout/place-00.typ"-                      ( line 21 , column 12 )-                      (FuncCall-                         (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-                  , Space-                  , Text "Hello"-                  , ParBreak-                  ]-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 place(alignment: Axes(center, bottom), -                       body: text(body: [© Typst])), -                 parbreak(), -                 heading(body: text(body: [Placement]), -                         level: 1), -                 place(alignment: right, -                       body: image(path: "/assets/files/tiger.jpg", -                                   width: 1.8cm)), -                 text(body: [-Hi there. This is ]), -                 linebreak(), -                 text(body: [a placed element. ]), -                 linebreak(), -                 text(body: [Unfortunately, ]), -                 linebreak(), -                 text(body: [the line breaks still had to be inserted manually.]), -                 parbreak(), -                 stack(children: (rect(fill: rgb(13%,61%,67%,100%), -                                       height: 10.0pt, -                                       width: 100%), -                                  place(alignment: right, -                                        body: text(body: [ABC]), -                                        dy: 1.5pt), -                                  rect(fill: rgb(18%,80%,25%,100%), -                                       height: 10.0pt, -                                       width: 80%), -                                  rect(fill: rgb(100%,25%,21%,100%), -                                       height: 10.0pt, -                                       width: 100%), -                                  10.0pt, -                                  block(body: { text(body: [-]), -                                                place(alignment: center, -                                                      body: text(body: [Hello]), -                                                      dx: -7.0pt, -                                                      dy: -5.0pt), -                                                text(body: [-]), -                                                place(alignment: center, -                                                      body: text(body: [Hello]), -                                                      dx: 7.0pt, -                                                      dy: 5.0pt), -                                                text(body: [-Hello ]), -                                                h(amount: 1.0fr), -                                                text(body: [ Hello]), -                                                parbreak() }))), -                 parbreak() })
− test/out/layout/place-01.out
@@ -1,77 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/place-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/place-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/place-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/place-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ NormalArg (Literal (String "a8"))-       , KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt))-       ])-, ParBreak-, Text "First"-, ParBreak-, Code-    "test/typ/layout/place-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "place"))-       [ NormalArg-           (Plus (Ident (Identifier "bottom")) (Ident (Identifier "right")))-       , BlockArg [ Text "Placed" ]-       ])-, ParBreak-, Text "Second"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [First]), -                 parbreak(), -                 place(alignment: Axes(right, bottom), -                       body: text(body: [Placed])), -                 parbreak(), -                 text(body: [Second]), -                 parbreak() })
− test/out/layout/place-background-00.out
@@ -1,131 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/place-background-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/place-background-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/place-background-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/place-background-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "paper") (Literal (String "a10"))-       , KeyValArg (Identifier "flipped") (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/layout/place-background-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "white")) ])-, SoftBreak-, Code-    "test/typ/layout/place-background-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "place"))-       [ KeyValArg (Identifier "dx") (Negated (Literal (Numeric 10.0 Pt)))-       , KeyValArg (Identifier "dy") (Negated (Literal (Numeric 10.0 Pt)))-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/tiger.jpg"))-              , KeyValArg (Identifier "fit") (Literal (String "cover"))-              , KeyValArg-                  (Identifier "width")-                  (Plus-                     (Literal (Numeric 100.0 Percent)) (Literal (Numeric 20.0 Pt)))-              , KeyValArg-                  (Identifier "height")-                  (Plus-                     (Literal (Numeric 100.0 Percent)) (Literal (Numeric 20.0 Pt)))-              ])-       ])-, SoftBreak-, Code-    "test/typ/layout/place-background-00.typ"-    ( line 14 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg-           (Plus (Ident (Identifier "bottom")) (Ident (Identifier "right")))-       , BlockArg-           [ SoftBreak-           , Emph [ Text "Welcome" , Space , Text "to" ]-           , Space-           , Code-               "test/typ/layout/place-background-00.typ"-               ( line 15 , column 17 )-               (FuncCall-                  (Ident (Identifier "underline"))-                  [ BlockArg [ Strong [ Text "Tigerland" ] ] ])-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      fill: rgb(100%,100%,100%,100%)), -                 place(body: image(fit: "cover", -                                   height: 20.0pt + 100%, -                                   path: "/tiger.jpg", -                                   width: 20.0pt + 100%), -                       dx: -10.0pt, -                       dy: -10.0pt), -                 text(body: [-], -                      fill: rgb(100%,100%,100%,100%)), -                 align(alignment: Axes(right, bottom), -                       body: { text(body: [-], -                                    fill: rgb(100%,100%,100%,100%)), -                               emph(body: text(body: [Welcome to], -                                               fill: rgb(100%,100%,100%,100%))), -                               text(body: [ ], -                                    fill: rgb(100%,100%,100%,100%)), -                               underline(body: strong(body: text(body: [Tigerland], -                                                                 fill: rgb(100%,100%,100%,100%)))), -                               parbreak() }), -                 parbreak() })
− test/out/layout/repeat-00.out
@@ -1,172 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/repeat-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/repeat-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/repeat-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/repeat-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "sections")))-       (Array-          [ Reg-              (Array-                 [ Reg (Literal (String "Introduction")) , Reg (Literal (Int 1)) ])-          , Reg-              (Array-                 [ Reg (Literal (String "Approach")) , Reg (Literal (Int 1)) ])-          , Reg-              (Array-                 [ Reg (Literal (String "Evaluation")) , Reg (Literal (Int 3)) ])-          , Reg-              (Array-                 [ Reg (Literal (String "Discussion")) , Reg (Literal (Int 15)) ])-          , Reg-              (Array-                 [ Reg (Literal (String "Related Work")) , Reg (Literal (Int 16)) ])-          , Reg-              (Array-                 [ Reg (Literal (String "Conclusion")) , Reg (Literal (Int 253)) ])-          ]))-, ParBreak-, Code-    "test/typ/layout/repeat-00.typ"-    ( line 12 , column 2 )-    (For-       (BasicBind (Just (Identifier "section")))-       (Ident (Identifier "sections"))-       (Block-          (Content-             [ SoftBreak-             , Code-                 "test/typ/layout/repeat-00.typ"-                 ( line 13 , column 4 )-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "at")) (Ident (Identifier "section")))-                    [ NormalArg (Literal (Int 0)) ])-             , Space-             , Code-                 "test/typ/layout/repeat-00.typ"-                 ( line 13 , column 19 )-                 (FuncCall-                    (Ident (Identifier "box"))-                    [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))-                    , NormalArg-                        (FuncCall (Ident (Identifier "repeat")) [ BlockArg [ Text "." ] ])-                    ])-             , Space-             , Code-                 "test/typ/layout/repeat-00.typ"-                 ( line 13 , column 47 )-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "at")) (Ident (Identifier "section")))-                    [ NormalArg (Literal (Int 1)) ])-             , Space-             , HardBreak-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [Introduction]), -                 text(body: [ ]), -                 box(body: repeat(body: text(body: [.])), -                     width: 1.0fr), -                 text(body: [ ]), -                 text(body: [1]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-]), -                 text(body: [Approach]), -                 text(body: [ ]), -                 box(body: repeat(body: text(body: [.])), -                     width: 1.0fr), -                 text(body: [ ]), -                 text(body: [1]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-]), -                 text(body: [Evaluation]), -                 text(body: [ ]), -                 box(body: repeat(body: text(body: [.])), -                     width: 1.0fr), -                 text(body: [ ]), -                 text(body: [3]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-]), -                 text(body: [Discussion]), -                 text(body: [ ]), -                 box(body: repeat(body: text(body: [.])), -                     width: 1.0fr), -                 text(body: [ ]), -                 text(body: [15]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-]), -                 text(body: [Related Work]), -                 text(body: [ ]), -                 box(body: repeat(body: text(body: [.])), -                     width: 1.0fr), -                 text(body: [ ]), -                 text(body: [16]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-]), -                 text(body: [Conclusion]), -                 text(body: [ ]), -                 box(body: repeat(body: text(body: [.])), -                     width: 1.0fr), -                 text(body: [ ]), -                 text(body: [253]), -                 text(body: [ ]), -                 linebreak(), -                 parbreak() })
− test/out/layout/repeat-01.out
@@ -1,76 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/repeat-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/repeat-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/repeat-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/repeat-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "ar")) ])-, SoftBreak-, Text "\1605\1602\1583\1605\1577"-, Space-, Code-    "test/typ/layout/repeat-01.typ"-    ( line 4 , column 8 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall (Ident (Identifier "repeat")) [ BlockArg [ Text "." ] ])-       ])-, Space-, Text "15"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-مقدمة ], -                      lang: "ar"), -                 box(body: repeat(body: text(body: [.], -                                             lang: "ar")), -                     width: 1.0fr), -                 text(body: [ 15], -                      lang: "ar"), -                 parbreak() })
− test/out/layout/repeat-02.out
@@ -1,65 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/repeat-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/repeat-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/repeat-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Space-, Code-    "test/typ/layout/repeat-02.typ"-    ( line 3 , column 4 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall (Ident (Identifier "repeat")) [ BlockArg [] ])-       ])-, Space-, Text "B"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A ]), -                 box(body: repeat(body: {  }), -                     width: 1.0fr), -                 text(body: [ B]), -                 parbreak() })
− test/out/layout/repeat-03.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/repeat-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/repeat-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/repeat-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/repeat-03.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "repeat"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Em))-              , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 repeat(body: rect(height: 1.0em, -                                   width: 2.0em)), -                 parbreak() })
− test/out/layout/repeat-04.out
@@ -1,141 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/repeat-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/repeat-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/repeat-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Code-    "test/typ/layout/repeat-04.typ"-    ( line 3 , column 3 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "repeat"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "width") (Literal (Numeric 6.0 Em))-                     , KeyValArg (Identifier "height") (Literal (Numeric 0.7 Em))-                     ])-              ])-       ])-, Text "B"-, ParBreak-, Code-    "test/typ/layout/repeat-04.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center")) ])-, SoftBreak-, Text "A"-, Code-    "test/typ/layout/repeat-04.typ"-    ( line 6 , column 3 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "repeat"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "width") (Literal (Numeric 6.0 Em))-                     , KeyValArg (Identifier "height") (Literal (Numeric 0.7 Em))-                     ])-              ])-       ])-, Text "B"-, ParBreak-, Code-    "test/typ/layout/repeat-04.typ"-    ( line 8 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])-, SoftBreak-, Text "\1585\1610\1580\1610\1606"-, Code-    "test/typ/layout/repeat-04.typ"-    ( line 9 , column 7 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "repeat"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "width") (Literal (Numeric 4.0 Em))-                     , KeyValArg (Identifier "height") (Literal (Numeric 0.7 Em))-                     ])-              ])-       ])-, Text "\1587\1608\1606"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A]), -                 box(body: repeat(body: rect(height: 0.7em, -                                             width: 6.0em)), -                     width: 1.0fr), -                 text(body: [B]), -                 parbreak(), -                 text(body: [-A]), -                 box(body: repeat(body: rect(height: 0.7em, -                                             width: 6.0em)), -                     width: 1.0fr), -                 text(body: [B]), -                 parbreak(), -                 text(body: [-ريجين], -                      dir: rtl), -                 box(body: repeat(body: rect(height: 0.7em, -                                             width: 4.0em)), -                     width: 1.0fr), -                 text(body: [سون], dir: rtl), -                 parbreak() })
− test/out/layout/repeat-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/spacing-00.out
@@ -1,200 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/spacing-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/spacing-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/spacing-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ BlockArg [ Text "A" , Space , HardBreak , Text "B" ] ])-, Space-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 3 , column 14 )-    (FuncCall-       (Ident (Identifier "box"))-       [ BlockArg-           [ Text "A"-           , Space-           , Code-               "test/typ/layout/spacing-00.typ"-               ( line 3 , column 21 )-               (FuncCall-                  (Ident (Identifier "v"))-                  [ NormalArg (Literal (Numeric 0.65 Em))-                  , KeyValArg (Identifier "weak") (Literal (Boolean True))-                  ])-           , Space-           , Text "B"-           ]-       ])-, ParBreak-, Comment-, Text "Inv"-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 6 , column 5 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 0.0 Pt)) ])-, Text "isible"-, ParBreak-, Comment-, Text "Add"-, Space-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 9 , column 6 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 10.0 Pt)) ])-, Space-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 9 , column 15 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 10.0 Pt)) ])-, Space-, Text "up"-, ParBreak-, Comment-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 12 , column 2 )-    (Let-       (BasicBind (Just (Identifier "x")))-       (Minus-          (Literal (Numeric 25.0 Percent)) (Literal (Numeric 4.0 Pt))))-, SoftBreak-, Text "|"-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 13 , column 3 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Ident (Identifier "x")) ])-, Text "|"-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 13 , column 9 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Ident (Identifier "x")) ])-, Text "|"-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 13 , column 15 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Ident (Identifier "x")) ])-, Text "|"-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 13 , column 21 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Ident (Identifier "x")) ])-, Text "|"-, ParBreak-, Comment-, Text "|"-, Space-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 16 , column 4 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, Space-, Text "|"-, Space-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 16 , column 14 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 2.0 Fr)) ])-, Space-, Text "|"-, Space-, Code-    "test/typ/layout/spacing-00.typ"-    ( line 16 , column 24 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, Space-, Text "|"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 box(body: { text(body: [A ]), -                             linebreak(), -                             text(body: [B]) }), -                 text(body: [ ]), -                 box(body: { text(body: [A ]), -                             v(amount: 0.65em, -                               weak: true), -                             text(body: [ B]) }), -                 parbreak(), -                 text(body: [Inv]), -                 h(amount: 0.0pt), -                 text(body: [isible]), -                 parbreak(), -                 text(body: [Add ]), -                 h(amount: 10.0pt), -                 text(body: [ ]), -                 h(amount: 10.0pt), -                 text(body: [ up]), -                 parbreak(), -                 text(body: [-|]), -                 h(amount: -4.0pt + 25%), -                 text(body: [|]), -                 h(amount: -4.0pt + 25%), -                 text(body: [|]), -                 h(amount: -4.0pt + 25%), -                 text(body: [|]), -                 h(amount: -4.0pt + 25%), -                 text(body: [|]), -                 parbreak(), -                 text(body: [| ]), -                 h(amount: 1.0fr), -                 text(body: [ | ]), -                 h(amount: 2.0fr), -                 text(body: [ | ]), -                 h(amount: 1.0fr), -                 text(body: [ |]), -                 parbreak() })
− test/out/layout/spacing-01.out
@@ -1,99 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/spacing-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/spacing-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/spacing-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/spacing-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "right")) ])-, SoftBreak-, Text "A"-, Space-, Code-    "test/typ/layout/spacing-01.typ"-    ( line 4 , column 4 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 0.0 Pt)) ])-, Space-, Text "B"-, Space-, Code-    "test/typ/layout/spacing-01.typ"-    ( line 4 , column 14 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 0.0 Pt)) ])-, Space-, HardBreak-, Text "A"-, Space-, Text "B"-, Space-, HardBreak-, Text "A"-, Space-, Code-    "test/typ/layout/spacing-01.typ"-    ( line 6 , column 4 )-    (FuncCall-       (Ident (Identifier "h"))-       [ NormalArg (Negated (Literal (Numeric 1.0 Fr))) ])-, Space-, Text "B"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-A ]), -                 h(amount: 0.0pt), -                 text(body: [ B ]), -                 h(amount: 0.0pt), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [A B ]), -                 linebreak(), -                 text(body: [A ]), -                 h(amount: -1.0fr), -                 text(body: [ B]), -                 parbreak() })
− test/out/layout/spacing-02.out
@@ -1,83 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/spacing-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/spacing-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/spacing-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/spacing-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])-, SoftBreak-, Text "A"-, Space-, Code-    "test/typ/layout/spacing-02.typ"-    ( line 4 , column 4 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 10.0 Pt)) ])-, Space-, Text "B"-, Space-, HardBreak-, Text "A"-, Space-, Code-    "test/typ/layout/spacing-02.typ"-    ( line 5 , column 4 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, Space-, Text "B"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-A ], dir: rtl), -                 h(amount: 10.0pt), -                 text(body: [ B ], dir: rtl), -                 linebreak(), -                 text(body: [A ], dir: rtl), -                 h(amount: 1.0fr), -                 text(body: [ B], dir: rtl), -                 parbreak() })
− test/out/layout/spacing-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/stack-1-00.out
@@ -1,178 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/stack-1-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/stack-1-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/stack-1-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/stack-1-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "widths")))-       (Array-          [ Reg (Literal (Numeric 30.0 Pt))-          , Reg (Literal (Numeric 20.0 Pt))-          , Reg (Literal (Numeric 40.0 Pt))-          , Reg (Literal (Numeric 15.0 Pt))-          , Reg (Literal (Numeric 30.0 Pt))-          , Reg (Literal (Numeric 50.0 Percent))-          , Reg (Literal (Numeric 20.0 Pt))-          , Reg (Literal (Numeric 100.0 Percent))-          ]))-, ParBreak-, Code-    "test/typ/layout/stack-1-00.typ"-    ( line 8 , column 2 )-    (LetFunc-       (Identifier "shaded")-       [ NormalParam (Identifier "i") , NormalParam (Identifier "w") ]-       (Block-          (CodeBlock-             [ Let-                 (BasicBind (Just (Identifier "v")))-                 (Times-                    (Plus (Ident (Identifier "i")) (Literal (Int 1)))-                    (Literal (Numeric 10.0 Percent)))-             , FuncCall-                 (Ident (Identifier "rect"))-                 [ KeyValArg (Identifier "width") (Ident (Identifier "w"))-                 , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-                 , KeyValArg-                     (Identifier "fill")-                     (FuncCall-                        (Ident (Identifier "rgb"))-                        [ NormalArg (Ident (Identifier "v"))-                        , NormalArg (Ident (Identifier "v"))-                        , NormalArg (Ident (Identifier "v"))-                        ])-                 ]-             ])))-, ParBreak-, Code-    "test/typ/layout/stack-1-00.typ"-    ( line 13 , column 2 )-    (Let-       (BasicBind (Just (Identifier "items")))-       (For-          (DestructuringBind-             [ Simple (Just (Identifier "i"))-             , Simple (Just (Identifier "w"))-             ])-          (FuncCall-             (FieldAccess-                (Ident (Identifier "enumerate")) (Ident (Identifier "widths")))-             [])-          (Block-             (CodeBlock-                [ Array-                    [ Reg-                        (FuncCall-                           (Ident (Identifier "align"))-                           [ NormalArg (Ident (Identifier "right"))-                           , NormalArg-                               (FuncCall-                                  (Ident (Identifier "shaded"))-                                  [ NormalArg (Ident (Identifier "i"))-                                  , NormalArg (Ident (Identifier "w"))-                                  ])-                           ])-                    ]-                ]))))-, ParBreak-, Code-    "test/typ/layout/stack-1-00.typ"-    ( line 17 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/layout/stack-1-00.typ"-    ( line 18 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "btt"))-       , SpreadArg (Ident (Identifier "items"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 text(body: [-]), -                 stack(children: (align(alignment: right, -                                        body: rect(fill: rgb(10%,10%,10%,100%), -                                                   height: 10.0pt, -                                                   width: 30.0pt)), -                                  align(alignment: right, -                                        body: rect(fill: rgb(20%,20%,20%,100%), -                                                   height: 10.0pt, -                                                   width: 20.0pt)), -                                  align(alignment: right, -                                        body: rect(fill: rgb(30%,30%,30%,100%), -                                                   height: 10.0pt, -                                                   width: 40.0pt)), -                                  align(alignment: right, -                                        body: rect(fill: rgb(40%,40%,40%,100%), -                                                   height: 10.0pt, -                                                   width: 15.0pt)), -                                  align(alignment: right, -                                        body: rect(fill: rgb(50%,50%,50%,100%), -                                                   height: 10.0pt, -                                                   width: 30.0pt)), -                                  align(alignment: right, -                                        body: rect(fill: rgb(60%,60%,60%,100%), -                                                   height: 10.0pt, -                                                   width: 50%)), -                                  align(alignment: right, -                                        body: rect(fill: rgb(70%,70%,70%,100%), -                                                   height: 10.0pt, -                                                   width: 20.0pt)), -                                  align(alignment: right, -                                        body: rect(fill: rgb(80%,80%,80%,100%), -                                                   height: 10.0pt, -                                                   width: 100%))), -                       dir: btt), -                 parbreak() })
− test/out/layout/stack-1-01.out
@@ -1,136 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/stack-1-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/stack-1-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/stack-1-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/stack-1-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))-       ])-, ParBreak-, Code-    "test/typ/layout/stack-1-01.typ"-    ( line 5 , column 2 )-    (Let-       (BasicBind (Just (Identifier "x")))-       (FuncCall-          (Ident (Identifier "square"))-          [ KeyValArg (Identifier "size") (Literal (Numeric 10.0 Pt))-          , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-          ]))-, SoftBreak-, Code-    "test/typ/layout/stack-1-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "stack"))-              [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl"))-              , KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt))-              , NormalArg (Ident (Identifier "x"))-              , NormalArg (Ident (Identifier "x"))-              , NormalArg (Ident (Identifier "x"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "stack"))-              [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-              , NormalArg (Ident (Identifier "x"))-              , NormalArg (Literal (Numeric 20.0 Percent))-              , NormalArg (Ident (Identifier "x"))-              , NormalArg (Literal (Numeric 20.0 Percent))-              , NormalArg (Ident (Identifier "x"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "stack"))-              [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-              , KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt))-              , NormalArg (Ident (Identifier "x"))-              , NormalArg (Ident (Identifier "x"))-              , NormalArg (Literal (Numeric 7.0 Pt))-              , NormalArg (Literal (Numeric 3.0 Pt))-              , NormalArg (Ident (Identifier "x"))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [-]), -                 stack(children: (stack(children: (square(fill: rgb(13%,61%,67%,100%), -                                                          size: 10.0pt), -                                                   square(fill: rgb(13%,61%,67%,100%), -                                                          size: 10.0pt), -                                                   square(fill: rgb(13%,61%,67%,100%), -                                                          size: 10.0pt)), -                                        dir: rtl, -                                        spacing: 5.0pt), -                                  stack(children: (square(fill: rgb(13%,61%,67%,100%), -                                                          size: 10.0pt), -                                                   20%, -                                                   square(fill: rgb(13%,61%,67%,100%), -                                                          size: 10.0pt), -                                                   20%, -                                                   square(fill: rgb(13%,61%,67%,100%), -                                                          size: 10.0pt)), -                                        dir: ltr), -                                  stack(children: (square(fill: rgb(13%,61%,67%,100%), -                                                          size: 10.0pt), -                                                   square(fill: rgb(13%,61%,67%,100%), -                                                          size: 10.0pt), -                                                   7.0pt, -                                                   3.0pt, -                                                   square(fill: rgb(13%,61%,67%,100%), -                                                          size: 10.0pt)), -                                        dir: ltr, -                                        spacing: 5.0pt)), -                       spacing: 5.0pt), -                 parbreak() })
− test/out/layout/stack-1-02.out
@@ -1,90 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/stack-1-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/stack-1-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/stack-1-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/stack-1-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 30.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/layout/stack-1-02.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "stack"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt))-                     , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))-                     , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-                     ])-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "width") (Literal (Numeric 30.0 Pt))-                     , KeyValArg (Identifier "height") (Literal (Numeric 13.0 Pt))-                     , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 box(body: stack(children: (rect(fill: rgb(18%,80%,25%,100%), -                                                 height: 20.0pt, -                                                 width: 40.0pt), -                                            rect(fill: rgb(100%,25%,21%,100%), -                                                 height: 13.0pt, -                                                 width: 30.0pt)))), -                 parbreak() })
− test/out/layout/stack-1-03.out
@@ -1,130 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/stack-1-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/stack-1-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/stack-1-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/stack-1-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 5.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/layout/stack-1-03.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "block"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/stack-1-03.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 8.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/stack-1-03.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl"))-       , NormalArg (Literal (Numeric 1.0 Fr))-       , NormalArg (Block (Content [ Text "A" ]))-       , NormalArg (Literal (Numeric 1.0 Fr))-       , NormalArg (Block (Content [ Text "B" ]))-       , NormalArg (Block (Content [ Text "C" ]))-       ])-, SoftBreak-, Code-    "test/typ/layout/stack-1-03.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "center"))-              , NormalArg (Block (Content [ Text "A" ]))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "left"))-              , NormalArg (Block (Content [ Text "B" ]))-              ])-       , NormalArg (Block (Content [ Text "C" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-], size: 8.0pt), -                 stack(children: (1.0fr, -                                  text(body: [A], -                                       size: 8.0pt), -                                  1.0fr, -                                  text(body: [B], -                                       size: 8.0pt), -                                  text(body: [C], -                                       size: 8.0pt)), -                       dir: rtl), -                 text(body: [-], size: 8.0pt), -                 stack(children: (align(alignment: center, -                                        body: text(body: [A], -                                                   size: 8.0pt)), -                                  align(alignment: left, -                                        body: text(body: [B], -                                                   size: 8.0pt)), -                                  text(body: [C], -                                       size: 8.0pt)), -                       dir: rtl), -                 parbreak() })
− test/out/layout/stack-2-00.out
@@ -1,142 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/stack-2-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/stack-2-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/stack-2-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/stack-2-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 3.5 Cm)) ])-, SoftBreak-, Code-    "test/typ/layout/stack-2-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))-       , SpreadArg-           (For-              (BasicBind (Just (Identifier "c")))-              (Literal (String "ABCDEFGHI"))-              (Block-                 (CodeBlock-                    [ Array-                        [ Reg-                            (Block-                               (Content-                                  [ Code-                                      "test/typ/layout/stack-2-00.typ"-                                      ( line 6 , column 30 )-                                      (Ident (Identifier "c"))-                                  ]))-                        ]-                    ])))-       ])-, ParBreak-, Text "Hello"-, SoftBreak-, Code-    "test/typ/layout/stack-2-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 2.0 Fr)) ])-, SoftBreak-, Text "from"-, Space-, Code-    "test/typ/layout/stack-2-00.typ"-    ( line 11 , column 7 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, Space-, Text "the"-, Space-, Code-    "test/typ/layout/stack-2-00.typ"-    ( line 11 , column 19 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, Space-, Text "wonderful"-, SoftBreak-, Code-    "test/typ/layout/stack-2-00.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-, SoftBreak-, Text "World!"-, Space-, Text "\127757"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 stack(children: (text(body: [A]), -                                  text(body: [B]), -                                  text(body: [C]), -                                  text(body: [D]), -                                  text(body: [E]), -                                  text(body: [F]), -                                  text(body: [G]), -                                  text(body: [H]), -                                  text(body: [I])), -                       dir: ltr, -                       spacing: 1.0fr), -                 parbreak(), -                 text(body: [Hello-]), -                 v(amount: 2.0fr), -                 text(body: [-from ]), -                 h(amount: 1.0fr), -                 text(body: [ the ]), -                 h(amount: 1.0fr), -                 text(body: [ wonderful-]), -                 v(amount: 1.0fr), -                 text(body: [-World! 🌍]), -                 parbreak() })
− test/out/layout/stack-2-01.out
@@ -1,104 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/stack-2-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/stack-2-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/stack-2-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/stack-2-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm)) ])-, SoftBreak-, Code-    "test/typ/layout/stack-2-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Ident (Identifier "white")) ])-, SoftBreak-, Code-    "test/typ/layout/stack-2-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , BlockArg-           [ SoftBreak-           , Code-               "test/typ/layout/stack-2-01.typ"-               ( line 5 , column 12 )-               (FuncCall-                  (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-           , SoftBreak-           , Code-               "test/typ/layout/stack-2-01.typ"-               ( line 6 , column 4 )-               (FuncCall-                  (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])-           , Space-           , Text "Hi"-           , Space-           , Text "you!"-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      color: rgb(100%,100%,100%,100%)), -                 rect(body: { text(body: [-], -                                   color: rgb(100%,100%,100%,100%)), -                              v(amount: 1.0fr), -                              text(body: [-], -                                   color: rgb(100%,100%,100%,100%)), -                              h(amount: 1.0fr), -                              text(body: [ Hi you!], -                                   color: rgb(100%,100%,100%,100%)), -                              parbreak() }, -                      fill: rgb(100%,25%,21%,100%)), -                 parbreak() })
− test/out/layout/table-00.out
@@ -1,141 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/table-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/table-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/table-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/table-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 70.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/table-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "table"))-       [ KeyValArg-           (Identifier "fill")-           (FuncExpr-              [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-              (If-                 [ ( FuncCall-                       (FieldAccess-                          (Ident (Identifier "even")) (Ident (Identifier "calc")))-                       [ NormalArg-                           (Plus (Ident (Identifier "x")) (Ident (Identifier "y")))-                       ]-                   , Block-                       (CodeBlock-                          [ FuncCall-                              (Ident (Identifier "rgb")) [ NormalArg (Literal (String "aaa")) ]-                          ])-                   )-                 ]))-       ])-, ParBreak-, Code-    "test/typ/layout/table-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg-           (Identifier "columns")-           (Times-              (Array [ Reg (Literal (Numeric 1.0 Fr)) ]) (Literal (Int 3)))-       , KeyValArg-           (Identifier "stroke")-           (Plus-              (Literal (Numeric 2.0 Pt))-              (FuncCall-                 (Ident (Identifier "rgb")) [ NormalArg (Literal (String "333")) ]))-       , NormalArg (Block (Content [ Text "A" ]))-       , NormalArg (Block (Content [ Text "B" ]))-       , NormalArg (Block (Content [ Text "C" ]))-       , NormalArg (Block (Content []))-       , NormalArg (Block (Content []))-       , NormalArg-           (Block-              (Content-                 [ Text "D"-                 , Space-                 , HardBreak-                 , Text "E"-                 , Space-                 , HardBreak-                 , Text "F"-                 , Space-                 , HardBreak-                 , HardBreak-                 , HardBreak-                 , Text "G"-                 ]))-       , NormalArg (Block (Content [ Text "H" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 table(children: (text(body: [A]), -                                  text(body: [B]), -                                  text(body: [C]), -                                  {  }, -                                  {  }, -                                  { text(body: [D ]), -                                    linebreak(), -                                    text(body: [E ]), -                                    linebreak(), -                                    text(body: [F ]), -                                    linebreak(), -                                    linebreak(), -                                    linebreak(), -                                    text(body: [G]) }, -                                  text(body: [H])), -                       columns: (1.0fr, -                                 1.0fr, -                                 1.0fr), -                       fill: , -                       stroke: (thickness: 2.0pt,-                                color: rgb(1%,1%,1%,100%))), -                 parbreak() })
− test/out/layout/table-01.out
@@ -1,65 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/table-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/table-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/table-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/layout/table-01.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg (Identifier "columns") (Literal (Int 3))-       , KeyValArg (Identifier "stroke") (Literal None)-       , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       , NormalArg (Block (Content [ Text "A" ]))-       , NormalArg (Block (Content [ Text "B" ]))-       , NormalArg (Block (Content [ Text "C" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 table(children: (text(body: [A]), -                                  text(body: [B]), -                                  text(body: [C])), -                       columns: 3, -                       fill: rgb(18%,80%,25%,100%), -                       stroke: none), -                 parbreak() })
− test/out/layout/table-02.out
@@ -1,116 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/table-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/table-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/table-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/table-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg-           (Identifier "columns")-           (Array-              [ Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              ])-       , KeyValArg-           (Identifier "align")-           (Array-              [ Reg (Ident (Identifier "left"))-              , Reg (Ident (Identifier "center"))-              , Reg (Ident (Identifier "right"))-              ])-       , NormalArg (Block (Content [ Text "A" ]))-       , NormalArg (Block (Content [ Text "B" ]))-       , NormalArg (Block (Content [ Text "C" ]))-       ])-, ParBreak-, Comment-, Code-    "test/typ/layout/table-02.typ"-    ( line 10 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center")) ])-, SoftBreak-, Code-    "test/typ/layout/table-02.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg-           (Identifier "columns")-           (Array-              [ Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              ])-       , KeyValArg (Identifier "align") (Array [])-       , NormalArg (Block (Content [ Text "A" ]))-       , NormalArg (Block (Content [ Text "B" ]))-       , NormalArg (Block (Content [ Text "C" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 table(align: (left, -                               center, -                               right), -                       children: (text(body: [A]), -                                  text(body: [B]), -                                  text(body: [C])), -                       columns: (1.0fr, -                                 1.0fr, -                                 1.0fr)), -                 parbreak(), -                 text(body: [-]), -                 table(align: (), -                       children: (text(body: [A]), -                                  text(body: [B]), -                                  text(body: [C])), -                       columns: (1.0fr, -                                 1.0fr, -                                 1.0fr)), -                 parbreak() })
− test/out/layout/table-03.out
@@ -1,53 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/table-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/table-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/table-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/table-03.typ"-    ( line 3 , column 2 )-    (FuncCall (Ident (Identifier "table")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 table(children: ()), -                 parbreak() })
− test/out/layout/table-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/terms-00.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/terms-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/terms-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/terms-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/terms-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "terms"))-       [ NormalArg-           (Array-              [ Reg (Block (Content [ Text "One" ]))-              , Reg (Block (Content [ Text "First" ]))-              ])-       , NormalArg-           (Array-              [ Reg (Block (Content [ Text "Two" ]))-              , Reg (Block (Content [ Text "Second" ]))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 terms(children: ((text(body: [One]), -                                   text(body: [First])), -                                  (text(body: [Two]), -                                   text(body: [Second])))), -                 parbreak() })
− test/out/layout/terms-01.out
@@ -1,100 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/terms-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/terms-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/terms-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/terms-01.typ"-    ( line 3 , column 2 )-    (For-       (BasicBind (Just (Identifier "word")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "map"))-             (FuncCall-                (FieldAccess-                   (Ident (Identifier "split"))-                   (FuncCall-                      (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 4)) ]))-                []))-          [ NormalArg-              (FuncExpr-                 [ NormalParam (Identifier "s") ]-                 (FuncCall-                    (FieldAccess (Ident (Identifier "trim")) (Ident (Identifier "s")))-                    [ NormalArg (Literal (String ".")) ]))-          ])-       (Block-          (Content-             [ SoftBreak-             , DescListItem-                 [ Code-                     "test/typ/layout/terms-01.typ"-                     ( line 4 , column 6 )-                     (Ident (Identifier "word"))-                 ]-                 [ Text "Latin" , Space , Text "stuff" , Text "." , ParBreak ]-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 terms(children: ((text(body: [Lorem]), -                                   { text(body: [Latin stuff.]), -                                     parbreak() }))), -                 text(body: [-]), -                 terms(children: ((text(body: [ipsum]), -                                   { text(body: [Latin stuff.]), -                                     parbreak() }))), -                 text(body: [-]), -                 terms(children: ((text(body: [dolor]), -                                   { text(body: [Latin stuff.]), -                                     parbreak() }))), -                 text(body: [-]), -                 terms(children: ((text(body: [sit]), -                                   { text(body: [Latin stuff.]), -                                     parbreak() }))), -                 parbreak() })
− test/out/layout/terms-02.out
@@ -1,94 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/terms-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/terms-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/terms-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/terms-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 8.0 Pt)) ])-, ParBreak-, DescListItem-    [ Text "Fruit" ]-    [ Text "A"-    , Space-    , Text "tasty,"-    , Space-    , Text "edible"-    , Space-    , Text "thing"-    , Text "."-    ]-, SoftBreak-, DescListItem-    [ Text "Veggie" ]-    [ SoftBreak-    , Text "An"-    , Space-    , Text "important"-    , Space-    , Text "energy"-    , Space-    , Text "source"-    , SoftBreak-    , Text "for"-    , Space-    , Text "vegetarians"-    , Text "."-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 terms(children: ((text(body: [Fruit], -                                        size: 8.0pt), -                                   text(body: [A tasty, edible thing.], -                                        size: 8.0pt)), -                                  (text(body: [Veggie], -                                        size: 8.0pt), -                                   { text(body: [-An important energy source-for vegetarians.], -                                          size: 8.0pt), -                                     parbreak() }))) })
− test/out/layout/terms-03.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/terms-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/terms-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/terms-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/terms-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 8.0 Pt)) ])-, SoftBreak-, DescListItem-    [ Text "First" , Space , Text "list" ]-    [ Code-        "test/typ/layout/terms-03.typ"-        ( line 4 , column 16 )-        (FuncCall-           (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 6)) ])-    , SoftBreak-    ]-, SoftBreak-, Code-    "test/typ/layout/terms-03.typ"-    ( line 6 , column 2 )-    (Set-       (Ident (Identifier "terms"))-       [ KeyValArg-           (Identifier "hanging-indent") (Literal (Numeric 30.0 Pt))-       ])-, SoftBreak-, DescListItem-    [ Text "Second" , Space , Text "list" ]-    [ Code-        "test/typ/layout/terms-03.typ"-        ( line 7 , column 17 )-        (FuncCall-           (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 5)) ])-    , ParBreak-    ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], size: 8.0pt), -                 terms(children: ((text(body: [First list], -                                        size: 8.0pt), -                                   { text(body: [Lorem ipsum dolor sit amet, consectetur], -                                          size: 8.0pt), -                                     text(body: [-], -                                          size: 8.0pt) }))), -                 text(body: [-], size: 8.0pt), -                 terms(children: ((text(body: [Second list], -                                        size: 8.0pt), -                                   { text(body: [Lorem ipsum dolor sit amet,], -                                          size: 8.0pt), -                                     parbreak() })), -                       hanging-indent: 30.0pt) })
− test/out/layout/terms-04.out
@@ -1,104 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/terms-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/terms-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/terms-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/terms-04.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "terms")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (FuncCall-             (Ident (Identifier "table"))-             [ KeyValArg (Identifier "columns") (Literal (Int 2))-             , KeyValArg (Identifier "inset") (Literal (Numeric 3.0 Pt))-             , SpreadArg-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "flatten"))-                       (FuncCall-                          (FieldAccess-                             (Ident (Identifier "map"))-                             (FieldAccess-                                (Ident (Identifier "children")) (Ident (Identifier "it"))))-                          [ NormalArg-                              (FuncExpr-                                 [ NormalParam (Identifier "v") ]-                                 (Array-                                    [ Reg-                                        (FuncCall-                                           (Ident (Identifier "emph"))-                                           [ NormalArg-                                               (FieldAccess-                                                  (Ident (Identifier "term"))-                                                  (Ident (Identifier "v")))-                                           ])-                                    , Reg-                                        (FieldAccess-                                           (Ident (Identifier "description"))-                                           (Ident (Identifier "v")))-                                    ]))-                          ]))-                    [])-             ])))-, ParBreak-, DescListItem [ Text "A" ] [ Text "One" , Space , Text "letter" ]-, SoftBreak-, DescListItem-    [ Text "BB" ] [ Text "Two" , Space , Text "letters" ]-, SoftBreak-, DescListItem-    [ Text "CCC" ] [ Text "Three" , Space , Text "letters" , ParBreak ]-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 table(children: (emph(body: text(body: [A])), -                                  text(body: [One letter]), -                                  emph(body: text(body: [BB])), -                                  text(body: [Two letters]), -                                  emph(body: text(body: [CCC])), -                                  { text(body: [Three letters]), -                                    parbreak() }), -                       columns: 2, -                       inset: 3.0pt) })
− test/out/layout/terms-05.out
@@ -1,61 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/terms-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/terms-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/terms-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, DescListItem [ Text "Term" ] []-, SoftBreak-, Text "Not"-, Space-, Text "in"-, Space-, Text "list"-, SoftBreak-, Text "/"-, Text "Nope"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 terms(children: ((text(body: [Term]), -                                   {  }))), -                 text(body: [Not in list-/Nope]), -                 parbreak() })
− test/out/layout/terms-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/layout/transform-00.out
@@ -1,214 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/transform-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/transform-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/transform-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/transform-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "size"))) (Literal (Numeric 11.0 Pt)))-, SoftBreak-, Code-    "test/typ/layout/transform-00.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "tex")))-       (Block-          (CodeBlock-             [ Block (Content [ Text "T" ])-             , FuncCall-                 (Ident (Identifier "h"))-                 [ NormalArg-                     (Times-                        (Negated (Literal (Float 0.14))) (Ident (Identifier "size")))-                 ]-             , FuncCall-                 (Ident (Identifier "box"))-                 [ NormalArg-                     (FuncCall-                        (Ident (Identifier "move"))-                        [ KeyValArg-                            (Identifier "dy")-                            (Times (Literal (Float 0.22)) (Ident (Identifier "size")))-                        , BlockArg [ Text "E" ]-                        ])-                 ]-             , FuncCall-                 (Ident (Identifier "h"))-                 [ NormalArg-                     (Times-                        (Negated (Literal (Float 0.12))) (Ident (Identifier "size")))-                 ]-             , Block (Content [ Text "X" ])-             ])))-, ParBreak-, Code-    "test/typ/layout/transform-00.typ"-    ( line 12 , column 2 )-    (Let-       (BasicBind (Just (Identifier "xetex")))-       (Block-          (CodeBlock-             [ Block (Content [ Text "X" ])-             , FuncCall-                 (Ident (Identifier "h"))-                 [ NormalArg-                     (Times-                        (Negated (Literal (Float 0.14))) (Ident (Identifier "size")))-                 ]-             , FuncCall-                 (Ident (Identifier "box"))-                 [ NormalArg-                     (FuncCall-                        (Ident (Identifier "scale"))-                        [ KeyValArg-                            (Identifier "x") (Negated (Literal (Numeric 100.0 Percent)))-                        , NormalArg-                            (FuncCall-                               (Ident (Identifier "move"))-                               [ KeyValArg-                                   (Identifier "dy")-                                   (Times (Literal (Float 0.26)) (Ident (Identifier "size")))-                               , BlockArg [ Text "E" ]-                               ])-                        ])-                 ]-             , FuncCall-                 (Ident (Identifier "h"))-                 [ NormalArg-                     (Times-                        (Negated (Literal (Float 0.14))) (Ident (Identifier "size")))-                 ]-             , Block (Content [ Text "T" ])-             , FuncCall-                 (Ident (Identifier "h"))-                 [ NormalArg-                     (Times-                        (Negated (Literal (Float 0.14))) (Ident (Identifier "size")))-                 ]-             , FuncCall-                 (Ident (Identifier "box"))-                 [ NormalArg-                     (FuncCall-                        (Ident (Identifier "move"))-                        [ KeyValArg-                            (Identifier "dy")-                            (Times (Literal (Float 0.26)) (Ident (Identifier "size")))-                        , BlockArg [ Text "E" ]-                        ])-                 ]-             , FuncCall-                 (Ident (Identifier "h"))-                 [ NormalArg-                     (Times-                        (Negated (Literal (Float 0.12))) (Ident (Identifier "size")))-                 ]-             , Block (Content [ Text "X" ])-             ])))-, ParBreak-, Code-    "test/typ/layout/transform-00.typ"-    ( line 24 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font") (Literal (String "New Computer Modern"))-       , NormalArg (Ident (Identifier "size"))-       ])-, SoftBreak-, Text "Neither"-, Space-, Code-    "test/typ/layout/transform-00.typ"-    ( line 25 , column 10 )-    (Ident (Identifier "tex"))-, Text ","-, Space-, HardBreak-, Text "nor"-, Space-, Code-    "test/typ/layout/transform-00.typ"-    ( line 26 , column 6 )-    (Ident (Identifier "xetex"))-, Text "!"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 parbreak(), -                 text(body: [-Neither ], -                      font: "New Computer Modern", -                      size: 11.0pt), -                 text(body: [T]), -                 h(amount: -1.54pt), -                 box(body: move(body: text(body: [E]), -                                dy: 2.42pt)), -                 h(amount: -1.3199999999999998pt), -                 text(body: [X]), -                 text(body: [, ], -                      font: "New Computer Modern", -                      size: 11.0pt), -                 linebreak(), -                 text(body: [nor ], -                      font: "New Computer Modern", -                      size: 11.0pt), -                 text(body: [X]), -                 h(amount: -1.54pt), -                 box(body: scale(body: move(body: text(body: [E]), -                                            dy: 2.8600000000000003pt), -                                 x: -100%)), -                 h(amount: -1.54pt), -                 text(body: [T]), -                 h(amount: -1.54pt), -                 box(body: move(body: text(body: [E]), -                                dy: 2.8600000000000003pt)), -                 h(amount: -1.3199999999999998pt), -                 text(body: [X]), -                 text(body: [!], -                      font: "New Computer Modern", -                      size: 11.0pt), -                 parbreak() })
− test/out/layout/transform-01.out
@@ -1,83 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/transform-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/transform-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/transform-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/transform-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/transform-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg-           (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rotate"))-              [ NormalArg (Literal (Numeric 20.0 Deg))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "scale"))-                     [ NormalArg (Literal (Numeric 70.0 Percent))-                     , NormalArg-                         (FuncCall-                            (Ident (Identifier "image"))-                            [ NormalArg (Literal (String "/assets/files/tiger.jpg")) ])-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 align(alignment: Axes(center, horizon), -                       body: rotate(angle: 20.0deg, -                                    body: scale(body: image(path: "/assets/files/tiger.jpg"), -                                                factor: 70%))), -                 parbreak() })
− test/out/layout/transform-02.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/transform-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/transform-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/transform-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/transform-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "rotate"))-       [ NormalArg (Literal (Numeric 10.0 Deg))-       , KeyValArg-           (Identifier "origin")-           (Plus (Ident (Identifier "top")) (Ident (Identifier "left")))-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))-              , KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 rotate(angle: 10.0deg, -                        body: image(path: "/assets/files/tiger.jpg", -                                    width: 50%), -                        origin: Axes(left, top)), -                 parbreak() })
− test/out/layout/transform-03.out
@@ -1,139 +0,0 @@---- parse tree ----[ Code-    "test/typ/layout/transform-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/layout/transform-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/layout/transform-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/layout/transform-03.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "r")))-       (FuncCall-          (Ident (Identifier "rect"))-          [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Pt))-          , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-          , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-          ]))-, SoftBreak-, Code-    "test/typ/layout/transform-03.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 65.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/layout/transform-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "scale"))-              [ NormalArg (Ident (Identifier "r"))-              , KeyValArg (Identifier "x") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "y") (Literal (Numeric 200.0 Percent))-              , KeyValArg-                  (Identifier "origin")-                  (Plus (Ident (Identifier "left")) (Ident (Identifier "top")))-              ])-       ])-, SoftBreak-, Code-    "test/typ/layout/transform-03.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "scale"))-              [ NormalArg (Ident (Identifier "r"))-              , KeyValArg (Identifier "x") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "origin") (Ident (Identifier "center"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/layout/transform-03.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "scale"))-              [ NormalArg (Ident (Identifier "r"))-              , KeyValArg (Identifier "x") (Literal (Numeric 50.0 Percent))-              , KeyValArg (Identifier "y") (Literal (Numeric 200.0 Percent))-              , KeyValArg-                  (Identifier "origin")-                  (Plus (Ident (Identifier "right")) (Ident (Identifier "bottom")))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 box(body: scale(body: rect(fill: rgb(100%,25%,21%,100%), -                                            height: 10.0pt, -                                            width: 100.0pt), -                                 origin: Axes(left, top), -                                 x: 50%, -                                 y: 200%)), -                 text(body: [-]), -                 box(body: scale(body: rect(fill: rgb(100%,25%,21%,100%), -                                            height: 10.0pt, -                                            width: 100.0pt), -                                 origin: center, -                                 x: 50%)), -                 text(body: [-]), -                 box(body: scale(body: rect(fill: rgb(100%,25%,21%,100%), -                                            height: 10.0pt, -                                            width: 100.0pt), -                                 origin: Axes(right, bottom), -                                 x: 50%, -                                 y: 200%)), -                 parbreak() })
− test/out/math/accent-00.out
@@ -1,155 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/accent-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/accent-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/accent-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Code-        "test/typ/math/accent-00.typ"-        ( line 3 , column 2 )-        (FuncCall (Ident (Identifier "grave")) [ BlockArg [ Text "a" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-00.typ"-        ( line 3 , column 12 )-        (FuncCall (Ident (Identifier "acute")) [ BlockArg [ Text "b" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-00.typ"-        ( line 3 , column 22 )-        (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "f" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-00.typ"-        ( line 3 , column 30 )-        (FuncCall-           (Ident (Identifier "tilde")) [ BlockArg [ Text "\167" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-00.typ"-        ( line 3 , column 40 )-        (FuncCall-           (Ident (Identifier "macron")) [ BlockArg [ Text "\228" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-00.typ"-        ( line 3 , column 51 )-        (FuncCall (Ident (Identifier "diaer")) [ BlockArg [ Text "a" ] ])-    , Text ","-    , Text "\228"-    , HardBreak-    , Code-        "test/typ/math/accent-00.typ"-        ( line 4 , column 2 )-        (FuncCall (Ident (Identifier "breve")) [ BlockArg [ Text "&" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-00.typ"-        ( line 4 , column 13 )-        (FuncCall (Ident (Identifier "dot")) [ BlockArg [ Text "!" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-00.typ"-        ( line 4 , column 21 )-        (FuncCall (Ident (Identifier "circle")) [ BlockArg [ Text "a" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-00.typ"-        ( line 4 , column 32 )-        (FuncCall (Ident (Identifier "caron")) [ BlockArg [ Text "@" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-00.typ"-        ( line 4 , column 42 )-        (FuncCall (Ident (Identifier "arrow")) [ BlockArg [ Text "Z" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-00.typ"-        ( line 4 , column 52 )-        (FuncCall-           (FieldAccess (Ident (Identifier "l")) (Ident (Identifier "arrow")))-           [ BlockArg [ Text "Z" ] ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { math.accent(accent: `, -                                                   base: text(body: [a])), -                                       text(body: [,]), -                                       math.accent(accent: ´, -                                                   base: text(body: [b])), -                                       text(body: [,]), -                                       math.accent(accent: ^, -                                                   base: text(body: [f])), -                                       text(body: [,]), -                                       math.accent(accent: ∼, -                                                   base: text(body: [§])), -                                       text(body: [,]), -                                       math.accent(accent: ¯, -                                                   base: text(body: [ä])), -                                       text(body: [,]), -                                       math.accent(accent: ¨, -                                                   base: text(body: [a])), -                                       text(body: [,]), -                                       text(body: [ä]), -                                       linebreak(), -                                       math.accent(accent: ˘, -                                                   base: text(body: [&])), -                                       text(body: [,]), -                                       math.accent(accent: ⋅, -                                                   base: text(body: [!])), -                                       text(body: [,]), -                                       math.accent(accent: ○, -                                                   base: text(body: [a])), -                                       text(body: [,]), -                                       math.accent(accent: ˇ, -                                                   base: text(body: [@])), -                                       text(body: [,]), -                                       math.accent(accent: →, -                                                   base: text(body: [Z])), -                                       text(body: [,]), -                                       math.accent(accent: ←, -                                                   base: text(body: [Z])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/accent-01.out
@@ -1,125 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/accent-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/accent-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/accent-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    True-    [ Text "x"-    , MAlignPoint-    , Text "="-    , Text "p"-    , HardBreak-    , Code-        "test/typ/math/accent-01.typ"-        ( line 2 , column 12 )-        (FuncCall (Ident (Identifier "dot")) [ BlockArg [ Text "x" ] ])-    , MAlignPoint-    , Text "="-    , Text "v"-    , HardBreak-    , Code-        "test/typ/math/accent-01.typ"-        ( line 2 , column 26 )-        (FuncCall-           (FieldAccess-              (Ident (Identifier "double")) (Ident (Identifier "dot")))-           [ BlockArg [ Text "x" ] ])-    , MAlignPoint-    , Text "="-    , Text "a"-    , HardBreak-    , Code-        "test/typ/math/accent-01.typ"-        ( line 2 , column 47 )-        (FuncCall-           (FieldAccess-              (Ident (Identifier "triple")) (Ident (Identifier "dot")))-           [ BlockArg [ Text "x" ] ])-    , MAlignPoint-    , Text "="-    , Text "j"-    , HardBreak-    , Code-        "test/typ/math/accent-01.typ"-        ( line 2 , column 68 )-        (FuncCall-           (FieldAccess-              (Ident (Identifier "quad")) (Ident (Identifier "dot")))-           [ BlockArg [ Text "x" ] ])-    , MAlignPoint-    , Text "="-    , Text "s"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [x]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [p]), -                                       linebreak(), -                                       math.accent(accent: ⋅, -                                                   base: text(body: [x])), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [v]), -                                       linebreak(), -                                       math.accent(accent: ¨, -                                                   base: text(body: [x])), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [a]), -                                       linebreak(), -                                       math.accent(accent: ⃛, -                                                   base: text(body: [x])), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [j]), -                                       linebreak(), -                                       math.accent(accent: ⃜, -                                                   base: text(body: [x])), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [s]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/accent-02.out
@@ -1,95 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/accent-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/accent-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/accent-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Code-        "test/typ/math/accent-02.typ"-        ( line 3 , column 2 )-        (FuncCall-           (Ident (Identifier "accent"))-           [ BlockArg [ Text "\246" ] , BlockArg [ Text "." ] ])-    , Text ","-    , Code-        "test/typ/math/accent-02.typ"-        ( line 3 , column 16 )-        (FuncCall-           (Ident (Identifier "accent"))-           [ BlockArg [ Text "v" ]-           , BlockArg-               [ Code-                   "test/typ/math/accent-02.typ"-                   ( line 3 , column 26 )-                   (FieldAccess (Ident (Identifier "l")) (Ident (Identifier "arrow")))-               ]-           ])-    , Text ","-    , Code-        "test/typ/math/accent-02.typ"-        ( line 3 , column 31 )-        (FuncCall-           (Ident (Identifier "accent"))-           [ BlockArg-               [ Code-                   "test/typ/math/accent-02.typ"-                   ( line 3 , column 38 )-                   (Ident (Identifier "ZZ"))-               ]-           , BlockArg [ Text "\771" ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { math.accent(accent: text(body: [.]), -                                                   base: text(body: [ö])), -                                       text(body: [,]), -                                       math.accent(accent: text(body: [←]), -                                                   base: text(body: [v])), -                                       text(body: [,]), -                                       math.accent(accent: text(body: [̃]), -                                                   base: text(body: [ℤ])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/accent-03.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/accent-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/accent-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/accent-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Code-        "test/typ/math/accent-03.typ"-        ( line 3 , column 2 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg-               [ Code-                   "test/typ/math/accent-03.typ"-                   ( line 3 , column 7 )-                   (FuncCall (Ident (Identifier "tilde")) [ BlockArg [ Text "T" ] ])-               ]-           ])-    , Text "+"-    , MFrac-        (Code-           "test/typ/math/accent-03.typ"-           ( line 3 , column 19 )-           (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "f" ] ]))-        (Code-           "test/typ/math/accent-03.typ"-           ( line 3 , column 26 )-           (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "g" ] ]))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { math.sqrt(radicand: math.accent(accent: ∼, -                                                                       base: text(body: [T]))), -                                       text(body: [+]), -                                       math.frac(denom: math.accent(accent: ^, -                                                                    base: text(body: [g])), -                                                 num: math.accent(accent: ^, -                                                                  base: text(body: [f]))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/accent-04.out
@@ -1,79 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/accent-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/accent-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/accent-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Code-        "test/typ/math/accent-04.typ"-        ( line 3 , column 2 )-        (FuncCall-           (Ident (Identifier "arrow"))-           [ BlockArg [ Text "ABC " , Text "+" , Text "d" ] ])-    , Text ","-    , Code-        "test/typ/math/accent-04.typ"-        ( line 3 , column 20 )-        (FuncCall-           (Ident (Identifier "tilde"))-           [ BlockArg-               [ Code-                   "test/typ/math/accent-04.typ"-                   ( line 3 , column 26 )-                   (Ident (Identifier "sum"))-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { math.accent(accent: →, -                                                   base: { text(body: [ABC ]), -                                                           text(body: [+]), -                                                           text(body: [d]) }), -                                       text(body: [,]), -                                       math.accent(accent: ∼, -                                                   base: text(body: [∑])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/accent-05.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/accent-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/accent-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/accent-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ MAttach Nothing (Just (Text "x")) (Text "A")-    , Code-        "test/typ/math/accent-05.typ"-        ( line 3 , column 6 )-        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))-    , MAttach-        Nothing-        (Just (Text "x"))-        (Code-           "test/typ/math/accent-05.typ"-           ( line 3 , column 9 )-           (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "A" ] ]))-    , Code-        "test/typ/math/accent-05.typ"-        ( line 3 , column 18 )-        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))-    , MAttach-        Nothing-        (Just (Text "x"))-        (Code-           "test/typ/math/accent-05.typ"-           ( line 3 , column 21 )-           (FuncCall-              (Ident (Identifier "hat"))-              [ BlockArg-                  [ Code-                      "test/typ/math/accent-05.typ"-                      ( line 3 , column 25 )-                      (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "A" ] ])-                  ]-              ]))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { math.attach(b: none, -                                                   base: text(body: [A]), -                                                   t: text(body: [x])), -                                       text(body: [≠]), -                                       math.attach(b: none, -                                                   base: math.accent(accent: ^, -                                                                     base: text(body: [A])), -                                                   t: text(body: [x])), -                                       text(body: [≠]), -                                       math.attach(b: none, -                                                   base: math.accent(accent: ^, -                                                                     base: math.accent(accent: ^, -                                                                                       base: text(body: [A]))), -                                                   t: text(body: [x])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/accent-06.out
@@ -1,109 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/accent-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/accent-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/accent-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/accent-06.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "tilde"))-           [ BlockArg-               [ Code-                   "test/typ/math/accent-06.typ"-                   ( line 3 , column 9 )-                   (Ident (Identifier "integral"))-               ]-           ])-    , Text ","-    , MAttach-        (Just (Text "a"))-        (Just (Text "b"))-        (Code-           "test/typ/math/accent-06.typ"-           ( line 3 , column 20 )-           (FuncCall-              (Ident (Identifier "tilde"))-              [ BlockArg-                  [ Code-                      "test/typ/math/accent-06.typ"-                      ( line 3 , column 26 )-                      (Ident (Identifier "integral"))-                  ]-              ]))-    , Text ","-    , Code-        "test/typ/math/accent-06.typ"-        ( line 3 , column 41 )-        (FuncCall-           (Ident (Identifier "tilde"))-           [ BlockArg-               [ MAttach-                   (Just (Text "a"))-                   (Just (Text "b"))-                   (Code-                      "test/typ/math/accent-06.typ"-                      ( line 3 , column 47 )-                      (Ident (Identifier "integral")))-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.accent(accent: ∼, -                                                   base: text(body: [∫])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [a]), -                                                   base: math.accent(accent: ∼, -                                                                     base: text(body: [∫])), -                                                   t: text(body: [b])), -                                       text(body: [,]), -                                       math.accent(accent: ∼, -                                                   base: math.attach(b: text(body: [a]), -                                                                     base: text(body: [∫]), -                                                                     t: text(body: [b]))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/alignment-00.out
@@ -1,118 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/alignment-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/alignment-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/alignment-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/alignment-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 225.0 Pt)) ])-, SoftBreak-, Equation-    True-    [ Text " a "-    , MAlignPoint-    , Text "="-    , Text "c"-    , HardBreak-    , MAlignPoint-    , Text "="-    , Text "c"-    , Text "+"-    , Text "1"-    , MAlignPoint-    , Text " By definition "-    , HardBreak-    , MAlignPoint-    , Text "="-    , Text "d"-    , Text "+"-    , Text "100"-    , Text "+"-    , Text "1000"-    , HardBreak-    , MAlignPoint-    , Text "="-    , Text "x"-    , MAlignPoint-    , MAlignPoint-    , Text " Even longer "-    , HardBreak-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [ a ]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [c]), -                                       linebreak(), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [c]), -                                       text(body: [+]), -                                       text(body: [1]), -                                       math.alignpoint(), -                                       text(body: [ By definition ]), -                                       linebreak(), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [d]), -                                       text(body: [+]), -                                       text(body: [100]), -                                       text(body: [+]), -                                       text(body: [1000]), -                                       linebreak(), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [x]), -                                       math.alignpoint(), -                                       math.alignpoint(), -                                       text(body: [ Even longer ]), -                                       linebreak() }, -                               numbering: none), -                 parbreak() })
− test/out/math/alignment-01.out
@@ -1,67 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/alignment-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/alignment-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/alignment-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MAlignPoint-    , Text " right "-    , HardBreak-    , Text "a very long line "-    , HardBreak-    , Text "left "-    , HardBreak-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.alignpoint(), -                                       text(body: [ right ]), -                                       linebreak(), -                                       text(body: [a very long line ]), -                                       linebreak(), -                                       text(body: [left ]), -                                       linebreak() }, -                               numbering: none), -                 parbreak() })
− test/out/math/alignment-02.out
@@ -1,65 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/alignment-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/alignment-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/alignment-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text " right "-    , HardBreak-    , Text "a very long line "-    , HardBreak-    , Text "left "-    , HardBreak-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [ right ]), -                                       linebreak(), -                                       text(body: [a very long line ]), -                                       linebreak(), -                                       text(body: [left ]), -                                       linebreak() }, -                               numbering: none), -                 parbreak() })
− test/out/math/alignment-03.out
@@ -1,96 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/alignment-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/alignment-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/alignment-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "a"-    , MAlignPoint-    , Text "="-    , Text "b"-    , MAlignPoint-    , Code-        "test/typ/math/alignment-03.typ"-        ( line 4 , column 9 )-        (Ident (Identifier "quad"))-    , Text "c"-    , MAlignPoint-    , Text "="-    , Text "d"-    , HardBreak-    , Text "e"-    , MAlignPoint-    , Text "="-    , Text "f"-    , MAlignPoint-    , Text "g"-    , MAlignPoint-    , Text "="-    , Text "h"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [a]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [b]), -                                       math.alignpoint(), -                                       text(body: [ ]), -                                       text(body: [c]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [d]), -                                       linebreak(), -                                       text(body: [e]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [f]), -                                       math.alignpoint(), -                                       text(body: [g]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [h]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/attach-00.out
@@ -1,99 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/attach-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/attach-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/attach-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ MAttach (Just (Text "x")) Nothing (Text "f")-    , Text "+"-    , MAttach Nothing (Just (Text "b")) (Text "t")-    , Text "+"-    , MAttach (Just (Text "1")) (Just (Text "2")) (Text "V")-    , Text "+"-    , Code-        "test/typ/math/attach-00.typ"-        ( line 3 , column 22 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "A" ]-           , KeyValArg-               (Identifier "t")-               (Block-                  (Content-                     [ Code-                         "test/typ/math/attach-00.typ"-                         ( line 3 , column 35 )-                         (Ident (Identifier "alpha"))-                     ]))-           , KeyValArg-               (Identifier "b")-               (Block-                  (Content-                     [ Code-                         "test/typ/math/attach-00.typ"-                         ( line 3 , column 45 )-                         (Ident (Identifier "beta"))-                     ]))-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { math.attach(b: text(body: [x]), -                                                   base: text(body: [f]), -                                                   t: none), -                                       text(body: [+]), -                                       math.attach(b: none, -                                                   base: text(body: [t]), -                                                   t: text(body: [b])), -                                       text(body: [+]), -                                       math.attach(b: text(body: [1]), -                                                   base: text(body: [V]), -                                                   t: text(body: [2])), -                                       text(body: [+]), -                                       math.attach(b: text(body: [β]), -                                                   base: text(body: [A]), -                                                   t: text(body: [α])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/attach-01.out
@@ -1,143 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/attach-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/attach-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/attach-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Equation-    True-    [ Code-        "test/typ/math/attach-01.typ"-        ( line 5 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-01.typ"-                   ( line 5 , column 8 )-                   (FuncCall (Ident (Identifier "upright")) [ BlockArg [ Text "O" ] ])-               ]-           , KeyValArg (Identifier "bl") (Block (Content [ Text "8" ]))-           , KeyValArg (Identifier "tl") (Block (Content [ Text "16" ]))-           , KeyValArg (Identifier "br") (Block (Content [ Text "2" ]))-           , KeyValArg-               (Identifier "tr")-               (Block-                  (Content-                     [ Text "2"-                     , Code-                         "test/typ/math/attach-01.typ"-                         ( line 5 , column 47 )-                         (Ident (Identifier "minus"))-                     ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-01.typ"-        ( line 6 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "Pb" ]-           , KeyValArg (Identifier "bl") (Block (Content [ Text "82" ]))-           , KeyValArg (Identifier "tl") (Block (Content [ Text "207" ]))-           ])-    , Text "+"-    , Code-        "test/typ/math/attach-01.typ"-        ( line 6 , column 33 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-01.typ"-                   ( line 6 , column 40 )-                   (FuncCall (Ident (Identifier "upright")) [ BlockArg [ Text "e" ] ])-               ]-           , KeyValArg-               (Identifier "bl")-               (Block-                  (Content-                     [ Code-                         "test/typ/math/attach-01.typ"-                         ( line 6 , column 56 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     ]))-           , KeyValArg (Identifier "tl") (Block (Content [ Text "0" ]))-           ])-    , Text "+"-    , MAttach-        (Just (Text "e"))-        Nothing-        (Code-           "test/typ/math/attach-01.typ"-           ( line 6 , column 69 )-           (FuncCall (Ident (Identifier "macron")) [ BlockArg [ Text "v" ] ]))-    , HardBreak-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(base: math.upright(body: text(body: [O])), -                                                   bl: text(body: [8]), -                                                   br: text(body: [2]), -                                                   tl: text(body: [16]), -                                                   tr: { text(body: [2]), -                                                         text(body: [−]) }), -                                       text(body: [,]), -                                       math.attach(base: text(body: [Pb]), -                                                   bl: text(body: [82]), -                                                   tl: text(body: [207])), -                                       text(body: [+]), -                                       math.attach(base: math.upright(body: text(body: [e])), -                                                   bl: { text(body: [−]), -                                                         text(body: [1]) }, -                                                   tl: text(body: [0])), -                                       text(body: [+]), -                                       math.attach(b: text(body: [e]), -                                                   base: math.accent(accent: ¯, -                                                                     base: text(body: [v])), -                                                   t: none), -                                       linebreak() }, -                               numbering: none), -                 parbreak() })
− test/out/math/attach-02.out
@@ -1,465 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/attach-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/attach-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/attach-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/attach-02.typ"-        ( line 4 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 4 , column 21 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 4 , column 41 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 5 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))-           ])-    , Text ","-    , MAttach-        Nothing-        (Just (Text "t"))-        (Code-           "test/typ/math/attach-02.typ"-           ( line 5 , column 21 )-           (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ]))-    , Text ","-    , MAttach-        (Just (Text "b"))-        Nothing-        (Code-           "test/typ/math/attach-02.typ"-           ( line 5 , column 41 )-           (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ]))-    , HardBreak-    , Code-        "test/typ/math/attach-02.typ"-        ( line 7 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))-           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 8 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))-           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 9 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 10 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-02.typ"-                   ( line 10 , column 8 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])-               ]-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 11 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))-           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 12 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-02.typ"-                   ( line 12 , column 8 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])-               ]-           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))-           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))-           ])-    , HardBreak-    , Code-        "test/typ/math/attach-02.typ"-        ( line 14 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))-           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 15 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-02.typ"-                   ( line 15 , column 8 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])-               ]-           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))-           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 16 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-02.typ"-                   ( line 16 , column 8 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])-               ]-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 17 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))-           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 18 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-02.typ"-                   ( line 18 , column 8 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])-               ]-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 19 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-02.typ"-                   ( line 19 , column 8 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])-               ]-           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))-           , KeyValArg (Identifier "bl") (Block (Content [ Text "u" ]))-           ])-    , Text ","-    , MAttach-        (Just (Text "b"))-        (Just (Text "t"))-        (Code-           "test/typ/math/attach-02.typ"-           ( line 20 , column 1 )-           (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ]))-    , HardBreak-    , Code-        "test/typ/math/attach-02.typ"-        ( line 22 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))-           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))-           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))-           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 23 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-02.typ"-                   ( line 23 , column 8 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])-               ]-           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))-           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))-           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 24 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-02.typ"-                   ( line 24 , column 8 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])-               ]-           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))-           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))-           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 25 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-02.typ"-                   ( line 25 , column 8 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])-               ]-           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))-           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))-           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 26 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-02.typ"-                   ( line 26 , column 8 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])-               ]-           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))-           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))-           ])-    , Text ","-    , Code-        "test/typ/math/attach-02.typ"-        ( line 27 , column 1 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "a" ]-           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))-           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))-           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))-           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(base: text(body: [a]), -                                                   tl: text(body: [u])), -                                       text(body: [,]), -                                       math.attach(base: text(body: [a]), -                                                   tr: text(body: [v])), -                                       text(body: [,]), -                                       math.attach(base: text(body: [a]), -                                                   bl: text(body: [x])), -                                       text(body: [,]), -                                       math.attach(base: text(body: [a]), -                                                   br: text(body: [y])), -                                       text(body: [,]), -                                       math.attach(b: none, -                                                   base: math.limits(body: text(body: [a])), -                                                   t: text(body: [t])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: text(body: [a])), -                                                   t: none), -                                       linebreak(), -                                       math.attach(base: text(body: [a]), -                                                   t: text(body: [t]), -                                                   tr: text(body: [v])), -                                       text(body: [,]), -                                       math.attach(base: text(body: [a]), -                                                   br: text(body: [y]), -                                                   tr: text(body: [v])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: text(body: [a]), -                                                   br: text(body: [y])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: text(body: [a])), -                                                   bl: text(body: [x])), -                                       text(body: [,]), -                                       math.attach(base: text(body: [a]), -                                                   bl: text(body: [x]), -                                                   tl: text(body: [u])), -                                       text(body: [,]), -                                       math.attach(base: math.limits(body: text(body: [a])), -                                                   t: text(body: [t]), -                                                   tl: text(body: [u])), -                                       linebreak(), -                                       math.attach(base: text(body: [a]), -                                                   tl: text(body: [u]), -                                                   tr: text(body: [v])), -                                       text(body: [,]), -                                       math.attach(base: math.limits(body: text(body: [a])), -                                                   br: text(body: [y]), -                                                   t: text(body: [t])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: text(body: [a])), -                                                   tr: text(body: [v])), -                                       text(body: [,]), -                                       math.attach(base: text(body: [a]), -                                                   bl: text(body: [x]), -                                                   br: text(body: [y])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: text(body: [a])), -                                                   tl: text(body: [u])), -                                       text(body: [,]), -                                       math.attach(base: math.limits(body: text(body: [a])), -                                                   bl: text(body: [u]), -                                                   t: text(body: [t])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: text(body: [a])), -                                                   t: text(body: [t])), -                                       linebreak(), -                                       math.attach(base: text(body: [a]), -                                                   bl: text(body: [x]), -                                                   br: text(body: [y]), -                                                   tl: text(body: [u]), -                                                   tr: text(body: [v])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: text(body: [a])), -                                                   bl: text(body: [x]), -                                                   br: text(body: [y]), -                                                   t: text(body: [t])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: text(body: [a])), -                                                   t: text(body: [t]), -                                                   tl: text(body: [u]), -                                                   tr: text(body: [v])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: text(body: [a])), -                                                   bl: text(body: [x]), -                                                   t: text(body: [t]), -                                                   tl: text(body: [u])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: text(body: [a])), -                                                   br: text(body: [y]), -                                                   t: text(body: [t]), -                                                   tr: text(body: [v])), -                                       text(body: [,]), -                                       math.attach(b: text(body: [b]), -                                                   base: text(body: [a]), -                                                   bl: text(body: [x]), -                                                   br: text(body: [y]), -                                                   t: text(body: [t]), -                                                   tl: text(body: [u]), -                                                   tr: text(body: [v])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/attach-03.out
@@ -1,157 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/attach-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/attach-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/attach-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ MAttach-        (Just (Text "1"))-        Nothing-        (Code-           "test/typ/math/attach-03.typ"-           ( line 3 , column 2 )-           (Ident (Identifier "pi")))-    , MGroup (Just "(") (Just ")") [ Text "Y" ]-    , Text ","-    , MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]))-        Nothing-        (Text "a")-    , Text ","-    , MAttach-        Nothing-        (Just-           (Code-              "test/typ/math/attach-03.typ"-              ( line 3 , column 21 )-              (FuncCall (Ident (Identifier "zeta")) [ BlockArg [ Text "x" ] ])))-        (Text "a")-    , HardBreak-    , MAttach-        Nothing-        (Just-           (Code-              "test/typ/math/attach-03.typ"-              ( line 4 , column 4 )-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "eq")) (Ident (Identifier "subset")))-                 [ BlockArg [ Text "x" ] ])))-        (Text "a")-    , Text ","-    , MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Code-                  "test/typ/math/attach-03.typ"-                  ( line 4 , column 21 )-                  (FuncCall (Ident (Identifier "zeta")) [ BlockArg [ Text "x" ] ])-              ]))-        Nothing-        (Text "a")-    , Text ","-    , MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "1" , MGroup (Just "(") (Just ")") [ Text "Y" ] ]))-        Nothing-        (Code-           "test/typ/math/attach-03.typ"-           ( line 4 , column 31 )-           (Ident (Identifier "pi")))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { math.attach(b: text(body: [1]), -                                                   base: text(body: [π]), -                                                   t: none), -                                       math.lr(body: ({ [(], -                                                        text(body: [Y]), -                                                        [)] })), -                                       text(body: [,]), -                                       math.attach(b: { text(body: [f]), -                                                        math.lr(body: ({ [(], -                                                                         text(body: [x]), -                                                                         [)] })) }, -                                                   base: text(body: [a]), -                                                   t: none), -                                       text(body: [,]), -                                       math.attach(b: none, -                                                   base: text(body: [a]), -                                                   t: { text(body: [ζ]), -                                                        text(body: [(]), -                                                        text(body: [x]), -                                                        text(body: [)]) }), -                                       linebreak(), -                                       math.attach(b: none, -                                                   base: text(body: [a]), -                                                   t: { text(body: [⊆]), -                                                        text(body: [(]), -                                                        text(body: [x]), -                                                        text(body: [)]) }), -                                       text(body: [,]), -                                       math.attach(b: { text(body: [ζ]), -                                                        text(body: [(]), -                                                        text(body: [x]), -                                                        text(body: [)]) }, -                                                   base: text(body: [a]), -                                                   t: none), -                                       text(body: [,]), -                                       math.attach(b: { text(body: [1]), -                                                        math.lr(body: ({ [(], -                                                                         text(body: [Y]), -                                                                         [)] })) }, -                                                   base: text(body: [π]), -                                                   t: none) }, -                               numbering: none), -                 parbreak() })
− test/out/math/attach-04.out
@@ -1,322 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/attach-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/attach-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/attach-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MFrac-        (Text "1")-        (MGroup-           Nothing-           Nothing-           [ MAttach-               Nothing-               (Just (Text "5"))-               (MAttach-                  Nothing-                  (Just (Text "4"))-                  (MAttach-                     Nothing-                     (Just (Text "3"))-                     (MAttach Nothing (Just (Text "2")) (Text "V"))))-           ])-    , Text ","-    , MFrac-        (Text "1")-        (Code-           "test/typ/math/attach-04.typ"-           ( line 4 , column 5 )-           (FuncCall-              (Ident (Identifier "attach"))-              [ BlockArg [ Text "V" ]-              , KeyValArg-                  (Identifier "tl")-                  (Block-                     (Content-                        [ Code-                            "test/typ/math/attach-04.typ"-                            ( line 4 , column 19 )-                            (FuncCall-                               (Ident (Identifier "attach"))-                               [ BlockArg [ Text "2" ]-                               , KeyValArg-                                   (Identifier "tl")-                                   (Block-                                      (Content-                                         [ Code-                                             "test/typ/math/attach-04.typ"-                                             ( line 4 , column 33 )-                                             (FuncCall-                                                (Ident (Identifier "attach"))-                                                [ BlockArg [ Text "3" ]-                                                , KeyValArg-                                                    (Identifier "tl")-                                                    (Block-                                                       (Content-                                                          [ Code-                                                              "test/typ/math/attach-04.typ"-                                                              ( line 4 , column 47 )-                                                              (FuncCall-                                                                 (Ident (Identifier "attach"))-                                                                 [ BlockArg [ Text "4" ]-                                                                 , KeyValArg-                                                                     (Identifier "tl")-                                                                     (Block (Content [ Text "5" ]))-                                                                 ])-                                                          ]))-                                                ])-                                         ]))-                               ])-                        ]))-              ]))-    , Text ","-    , Code-        "test/typ/math/attach-04.typ"-        ( line 5 , column 3 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-04.typ"-                   ( line 5 , column 10 )-                   (Ident (Identifier "Omega"))-               ]-           , KeyValArg-               (Identifier "tl")-               (Block-                  (Content-                     [ Code-                         "test/typ/math/attach-04.typ"-                         ( line 6 , column 9 )-                         (FuncCall-                            (Ident (Identifier "attach"))-                            [ BlockArg [ Text "2" ]-                            , KeyValArg-                                (Identifier "tl")-                                (Block-                                   (Content-                                      [ Code-                                          "test/typ/math/attach-04.typ"-                                          ( line 6 , column 23 )-                                          (FuncCall-                                             (Ident (Identifier "attach"))-                                             [ BlockArg [ Text "3" ]-                                             , KeyValArg-                                                 (Identifier "tl")-                                                 (Block-                                                    (Content-                                                       [ Code-                                                           "test/typ/math/attach-04.typ"-                                                           ( line 6 , column 37 )-                                                           (FuncCall-                                                              (Ident (Identifier "attach"))-                                                              [ BlockArg [ Text "4" ]-                                                              , KeyValArg-                                                                  (Identifier "tl")-                                                                  (Block (Content [ Text "5" ]))-                                                              ])-                                                       ]))-                                             ])-                                      ]))-                            ])-                     ]))-           , KeyValArg-               (Identifier "tr")-               (Block-                  (Content-                     [ Code-                         "test/typ/math/attach-04.typ"-                         ( line 7 , column 9 )-                         (FuncCall-                            (Ident (Identifier "attach"))-                            [ BlockArg [ Text "2" ]-                            , KeyValArg-                                (Identifier "tr")-                                (Block-                                   (Content-                                      [ Code-                                          "test/typ/math/attach-04.typ"-                                          ( line 7 , column 23 )-                                          (FuncCall-                                             (Ident (Identifier "attach"))-                                             [ BlockArg [ Text "3" ]-                                             , KeyValArg-                                                 (Identifier "tr")-                                                 (Block-                                                    (Content-                                                       [ Code-                                                           "test/typ/math/attach-04.typ"-                                                           ( line 7 , column 37 )-                                                           (FuncCall-                                                              (Ident (Identifier "attach"))-                                                              [ BlockArg [ Text "4" ]-                                                              , KeyValArg-                                                                  (Identifier "tr")-                                                                  (Block (Content [ Text "5" ]))-                                                              ])-                                                       ]))-                                             ])-                                      ]))-                            ])-                     ]))-           , KeyValArg-               (Identifier "bl")-               (Block-                  (Content-                     [ Code-                         "test/typ/math/attach-04.typ"-                         ( line 8 , column 9 )-                         (FuncCall-                            (Ident (Identifier "attach"))-                            [ BlockArg [ Text "2" ]-                            , KeyValArg-                                (Identifier "bl")-                                (Block-                                   (Content-                                      [ Code-                                          "test/typ/math/attach-04.typ"-                                          ( line 8 , column 23 )-                                          (FuncCall-                                             (Ident (Identifier "attach"))-                                             [ BlockArg [ Text "3" ]-                                             , KeyValArg-                                                 (Identifier "bl")-                                                 (Block-                                                    (Content-                                                       [ Code-                                                           "test/typ/math/attach-04.typ"-                                                           ( line 8 , column 37 )-                                                           (FuncCall-                                                              (Ident (Identifier "attach"))-                                                              [ BlockArg [ Text "4" ]-                                                              , KeyValArg-                                                                  (Identifier "bl")-                                                                  (Block (Content [ Text "5" ]))-                                                              ])-                                                       ]))-                                             ])-                                      ]))-                            ])-                     ]))-           , KeyValArg-               (Identifier "br")-               (Block-                  (Content-                     [ Code-                         "test/typ/math/attach-04.typ"-                         ( line 9 , column 9 )-                         (FuncCall-                            (Ident (Identifier "attach"))-                            [ BlockArg [ Text "2" ]-                            , KeyValArg-                                (Identifier "br")-                                (Block-                                   (Content-                                      [ Code-                                          "test/typ/math/attach-04.typ"-                                          ( line 9 , column 23 )-                                          (FuncCall-                                             (Ident (Identifier "attach"))-                                             [ BlockArg [ Text "3" ]-                                             , KeyValArg-                                                 (Identifier "br")-                                                 (Block-                                                    (Content-                                                       [ Code-                                                           "test/typ/math/attach-04.typ"-                                                           ( line 9 , column 37 )-                                                           (FuncCall-                                                              (Ident (Identifier "attach"))-                                                              [ BlockArg [ Text "4" ]-                                                              , KeyValArg-                                                                  (Identifier "br")-                                                                  (Block (Content [ Text "5" ]))-                                                              ])-                                                       ]))-                                             ])-                                      ]))-                            ])-                     ]))-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.frac(denom: math.attach(b: none, -                                                                    base: math.attach(b: none, -                                                                                      base: math.attach(b: none, -                                                                                                        base: math.attach(b: none, -                                                                                                                          base: text(body: [V]), -                                                                                                                          t: text(body: [2])), -                                                                                                        t: text(body: [3])), -                                                                                      t: text(body: [4])), -                                                                    t: text(body: [5])), -                                                 num: text(body: [1])), -                                       text(body: [,]), -                                       math.frac(denom: math.attach(base: text(body: [V]), -                                                                    tl: math.attach(base: text(body: [2]), -                                                                                    tl: math.attach(base: text(body: [3]), -                                                                                                    tl: math.attach(base: text(body: [4]), -                                                                                                                    tl: text(body: [5]))))), -                                                 num: text(body: [1])), -                                       text(body: [,]), -                                       math.attach(base: text(body: [Ω]), -                                                   bl: math.attach(base: text(body: [2]), -                                                                   bl: math.attach(base: text(body: [3]), -                                                                                   bl: math.attach(base: text(body: [4]), -                                                                                                   bl: text(body: [5])))), -                                                   br: math.attach(base: text(body: [2]), -                                                                   br: math.attach(base: text(body: [3]), -                                                                                   br: math.attach(base: text(body: [4]), -                                                                                                   br: text(body: [5])))), -                                                   tl: math.attach(base: text(body: [2]), -                                                                   tl: math.attach(base: text(body: [3]), -                                                                                   tl: math.attach(base: text(body: [4]), -                                                                                                   tl: text(body: [5])))), -                                                   tr: math.attach(base: text(body: [2]), -                                                                   tr: math.attach(base: text(body: [3]), -                                                                                   tr: math.attach(base: text(body: [4]), -                                                                                                   tr: text(body: [5]))))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/attach-05.out
@@ -1,174 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/attach-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/attach-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/attach-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/attach-05.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg-               [ MAttach-                   (Just (MGroup Nothing Nothing [ MFrac (Text "1") (Text "2") ]))-                   (Just-                      (Code-                         "test/typ/math/attach-05.typ"-                         ( line 3 , column 16 )-                         (Ident (Identifier "zeta"))))-                   (Text "a")-               ]-           ])-    , Text ","-    , Code-        "test/typ/math/attach-05.typ"-        ( line 3 , column 23 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg-               [ MAttach-                   (Just-                      (Code-                         "test/typ/math/attach-05.typ"-                         ( line 3 , column 30 )-                         (Ident (Identifier "alpha"))))-                   (Just (MGroup Nothing Nothing [ MFrac (Text "1") (Text "2") ]))-                   (Text "a")-               ]-           ])-    , Text ","-    , Code-        "test/typ/math/attach-05.typ"-        ( line 3 , column 44 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg-               [ MAttach-                   (Just (MGroup Nothing Nothing [ MFrac (Text "1") (Text "2") ]))-                   (Just (MGroup Nothing Nothing [ MFrac (Text "3") (Text "4") ]))-                   (Text "a")-               ]-           ])-    , HardBreak-    , Code-        "test/typ/math/attach-05.typ"-        ( line 4 , column 3 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-05.typ"-                   ( line 4 , column 8 )-                   (FuncCall-                      (Ident (Identifier "attach"))-                      [ BlockArg [ Text "a" ]-                      , KeyValArg-                          (Identifier "tl") (Block (Content [ MFrac (Text "1") (Text "2") ]))-                      , KeyValArg-                          (Identifier "bl") (Block (Content [ MFrac (Text "3") (Text "4") ]))-                      ])-               ]-           ])-    , Text ","-    , Code-        "test/typ/math/attach-05.typ"-        ( line 5 , column 3 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg-               [ Code-                   "test/typ/math/attach-05.typ"-                   ( line 5 , column 8 )-                   (FuncCall-                      (Ident (Identifier "attach"))-                      [ BlockArg [ Text "a" ]-                      , KeyValArg-                          (Identifier "tl") (Block (Content [ MFrac (Text "1") (Text "2") ]))-                      , KeyValArg-                          (Identifier "bl") (Block (Content [ MFrac (Text "3") (Text "4") ]))-                      , KeyValArg-                          (Identifier "tr") (Block (Content [ MFrac (Text "1") (Text "2") ]))-                      , KeyValArg-                          (Identifier "br") (Block (Content [ MFrac (Text "3") (Text "4") ]))-                      ])-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.sqrt(radicand: math.attach(b: math.frac(denom: text(body: [2]), -                                                                                    num: text(body: [1])), -                                                                       base: text(body: [a]), -                                                                       t: text(body: [ζ]))), -                                       text(body: [,]), -                                       math.sqrt(radicand: math.attach(b: text(body: [α]), -                                                                       base: text(body: [a]), -                                                                       t: math.frac(denom: text(body: [2]), -                                                                                    num: text(body: [1])))), -                                       text(body: [,]), -                                       math.sqrt(radicand: math.attach(b: math.frac(denom: text(body: [2]), -                                                                                    num: text(body: [1])), -                                                                       base: text(body: [a]), -                                                                       t: math.frac(denom: text(body: [4]), -                                                                                    num: text(body: [3])))), -                                       linebreak(), -                                       math.sqrt(radicand: math.attach(base: text(body: [a]), -                                                                       bl: math.frac(denom: text(body: [4]), -                                                                                     num: text(body: [3])), -                                                                       tl: math.frac(denom: text(body: [2]), -                                                                                     num: text(body: [1])))), -                                       text(body: [,]), -                                       math.sqrt(radicand: math.attach(base: text(body: [a]), -                                                                       bl: math.frac(denom: text(body: [4]), -                                                                                     num: text(body: [3])), -                                                                       br: math.frac(denom: text(body: [4]), -                                                                                     num: text(body: [3])), -                                                                       tl: math.frac(denom: text(body: [2]), -                                                                                     num: text(body: [1])), -                                                                       tr: math.frac(denom: text(body: [2]), -                                                                                     num: text(body: [1])))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/attach-06.out
@@ -1,99 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/attach-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/attach-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/attach-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MAttach-        Nothing-        (Just (Text "n"))-        (MGroup-           (Just "(")-           (Just ")")-           [ Code-               "test/typ/math/attach-06.typ"-               ( line 3 , column 4 )-               (Ident (Identifier "minus"))-           , Text "1"-           ])-    , Text "+"-    , MAttach-        Nothing-        (Just-           (MGroup-              Nothing-              Nothing-              [ Code-                  "test/typ/math/attach-06.typ"-                  ( line 3 , column 23 )-                  (Ident (Identifier "minus"))-              , MFrac (Text "1") (Text "2")-              ]))-        (MGroup-           (Just "(")-           (Just ")")-           [ MFrac (Text "1") (Text "2") , Text "+" , Text "3" ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: none, -                                                   base: math.lr(body: ({ [(], -                                                                          text(body: [−]), -                                                                          text(body: [1]), -                                                                          [)] })), -                                                   t: text(body: [n])), -                                       text(body: [+]), -                                       math.attach(b: none, -                                                   base: math.lr(body: ({ [(], -                                                                          math.frac(denom: text(body: [2]), -                                                                                    num: text(body: [1])), -                                                                          text(body: [+]), -                                                                          text(body: [3]), -                                                                          [)] })), -                                                   t: { text(body: [−]), -                                                        math.frac(denom: text(body: [2]), -                                                                  num: text(body: [1])) }) }, -                               numbering: none), -                 parbreak() })
− test/out/math/attach-07.out
@@ -1,426 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/attach-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/attach-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/attach-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/math/attach-07.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "size") (Literal (Numeric 8.0 Pt)) ])-, ParBreak-, Comment-, Equation-    True-    [ MAttach (Just (Text "1")) Nothing (Text "x")-    , MAttach (Just (Text "1")) Nothing (Text "p")-    , MAttach-        (Just (Text "1"))-        Nothing-        (Code-           "test/typ/math/attach-07.typ"-           ( line 5 , column 11 )-           (FuncCall (Ident (Identifier "frak")) [ BlockArg [ Text "p" ] ]))-    , MAttach (Just (Text "1")) Nothing (Text "2")-    , MAttach-        (Just (Text "1"))-        Nothing-        (Code-           "test/typ/math/attach-07.typ"-           ( line 5 , column 25 )-           (Ident (Identifier "dot")))-    , MAttach-        (Just (Text "1"))-        Nothing-        (Code-           "test/typ/math/attach-07.typ"-           ( line 5 , column 31 )-           (Ident (Identifier "lg")))-    , MAttach (Just (Text "1")) Nothing (Text "!")-    , MAttach (Just (Text "1")) Nothing (Text "\\")-    , MAttach (Just (Text "1")) Nothing (Text "]")-    , MAttach (Just (Text "1")) Nothing (Text " ip")-    , MAttach-        (Just (Text "1"))-        Nothing-        (Code-           "test/typ/math/attach-07.typ"-           ( line 5 , column 56 )-           (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "iq" ] ]))-    , HardBreak-    , MAttach Nothing (Just (Text "1")) (Text "x")-    , MAttach Nothing (Just (Text "1")) (Text "b")-    , MAttach-        Nothing-        (Just (Text "1"))-        (Code-           "test/typ/math/attach-07.typ"-           ( line 6 , column 11 )-           (FuncCall (Ident (Identifier "frak")) [ BlockArg [ Text "b" ] ]))-    , MAttach Nothing (Just (Text "1")) (Text "2")-    , MAttach-        Nothing-        (Just (Text "1"))-        (Code-           "test/typ/math/attach-07.typ"-           ( line 6 , column 25 )-           (Ident (Identifier "dot")))-    , MAttach-        Nothing-        (Just (Text "1"))-        (Code-           "test/typ/math/attach-07.typ"-           ( line 6 , column 31 )-           (Ident (Identifier "lg")))-    , MAttach Nothing (Just (Text "1")) (Text "!")-    , MAttach Nothing (Just (Text "1")) (Text "\\")-    , MAttach Nothing (Just (Text "1")) (Text "]")-    , MAttach Nothing (Just (Text "1")) (Text " ib")-    , MAttach-        Nothing-        (Just (Text "1"))-        (Code-           "test/typ/math/attach-07.typ"-           ( line 6 , column 56 )-           (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "id" ] ]))-    , HardBreak-    , MAttach (Just (Text "1")) Nothing (Text "x")-    , MAttach (Just (Text "1")) Nothing (Text "y")-    , MAttach (Just (Text "1")) Nothing (Text " _")-    , MAttach Nothing (Just (Text "1")) (Text "x")-    , MAttach Nothing (Just (Text "1")) (Text "l")-    , MAttach Nothing (Just (Text "1")) (Text " `")-    , Code-        "test/typ/math/attach-07.typ"-        ( line 7 , column 31 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg [ Text "I" ]-           , KeyValArg (Identifier "tl") (Block (Content [ Text "1" ]))-           , KeyValArg (Identifier "bl") (Block (Content [ Text "1" ]))-           , KeyValArg (Identifier "tr") (Block (Content [ Text "1" ]))-           , KeyValArg (Identifier "br") (Block (Content [ Text "1" ]))-           ])-    , MAttach-        (Just (Text "1"))-        (Just (Text "1"))-        (Code-           "test/typ/math/attach-07.typ"-           ( line 8 , column 3 )-           (FuncCall-              (Ident (Identifier "scripts"))-              [ BlockArg-                  [ Code-                      "test/typ/math/attach-07.typ"-                      ( line 8 , column 11 )-                      (Ident (Identifier "sum"))-                  ]-              ]))-    , MAttach-        (Just (Text "1"))-        (Just (Text "1"))-        (Code-           "test/typ/math/attach-07.typ"-           ( line 8 , column 20 )-           (Ident (Identifier "integral")))-    , Text "|"-    , MFrac (Text "1") (Text "2")-    , MAttach (Just (Text "1")) (Just (Text "1")) (Text "|")-    , HardBreak-    , MAttach (Just (Text "1")) (Just (Text "1")) (Text "x")-    , Text ","-    , Text " ("-    , Text "b"-    , Text "y"-    , MAttach (Just (Text "1")) (Just (Text "1")) (Text ")")-    , Code-        "test/typ/math/attach-07.typ"-        ( line 9 , column 24 )-        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))-    , MAttach-        (Just (Text "1"))-        (Just (Text "1"))-        (MGroup (Just "(") (Just ")") [ Text "b" , Text "y" ])-    , Text ","-    , MAttach (Just (Text "1")) Nothing (Text " [\8747]")-    , MAttach-        (Just (Text "1"))-        Nothing-        (MGroup-           (Just "[")-           (Just "]")-           [ Code-               "test/typ/math/attach-07.typ"-               ( line 9 , column 47 )-               (Ident (Identifier "integral"))-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 math.equation(block: true, -                               body: { math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [x], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [p], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: math.frak(body: text(body: [p], -                                                                              size: 8.0pt)), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [2], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [⋅], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: math.op(limits: false, -                                                                 text: "lg"), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [!], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [\], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: []], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [ ip], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: math.op(text: text(body: [iq], -                                                                            size: 8.0pt)), -                                                   t: none), -                                       linebreak(), -                                       math.attach(b: none, -                                                   base: text(body: [x], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: text(body: [b], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: math.frak(body: text(body: [b], -                                                                              size: 8.0pt)), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: text(body: [2], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: text(body: [⋅], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: math.op(limits: false, -                                                                 text: "lg"), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: text(body: [!], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: text(body: [\], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: text(body: []], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: text(body: [ ib], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: math.op(text: text(body: [id], -                                                                            size: 8.0pt)), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       linebreak(), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [x], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [y], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [ _], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: none, -                                                   base: text(body: [x], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: text(body: [l], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: none, -                                                   base: text(body: [ `], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(base: text(body: [I], -                                                              size: 8.0pt), -                                                   bl: text(body: [1], -                                                            size: 8.0pt), -                                                   br: text(body: [1], -                                                            size: 8.0pt), -                                                   tl: text(body: [1], -                                                            size: 8.0pt), -                                                   tr: text(body: [1], -                                                            size: 8.0pt)), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: math.scripts(body: text(body: [∑], -                                                                                 size: 8.0pt)), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [∫], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       text(body: [|], -                                            size: 8.0pt), -                                       math.frac(denom: text(body: [2], -                                                             size: 8.0pt), -                                                 num: text(body: [1], -                                                           size: 8.0pt)), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [|], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       linebreak(), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [x], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       text(body: [,], -                                            size: 8.0pt), -                                       text(body: [ (], -                                            size: 8.0pt), -                                       text(body: [b], -                                            size: 8.0pt), -                                       text(body: [y], -                                            size: 8.0pt), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [)], -                                                              size: 8.0pt), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       text(body: [≠], -                                            size: 8.0pt), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: math.lr(body: ({ [(], -                                                                          text(body: [b], -                                                                               size: 8.0pt), -                                                                          text(body: [y], -                                                                               size: 8.0pt), -                                                                          [)] })), -                                                   t: text(body: [1], -                                                           size: 8.0pt)), -                                       text(body: [,], -                                            size: 8.0pt), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: text(body: [ [∫]], -                                                              size: 8.0pt), -                                                   t: none), -                                       math.attach(b: text(body: [1], -                                                           size: 8.0pt), -                                                   base: math.lr(body: ({ [[], -                                                                          text(body: [∫], -                                                                               size: 8.0pt), -                                                                          []] })), -                                                   t: none) }, -                               numbering: none), -                 parbreak() })
− test/out/math/attach-08.out
@@ -1,120 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/attach-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/attach-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/attach-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "n"-              , Code-                  "test/typ/math/attach-08.typ"-                  ( line 3 , column 9 )-                  (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))-              , Code-                  "test/typ/math/attach-08.typ"-                  ( line 3 , column 11 )-                  (Ident (Identifier "oo"))-              , HardBreak-              , Text "n"-              , Text " grows"-              ]))-        Nothing-        (Code-           "test/typ/math/attach-08.typ"-           ( line 3 , column 3 )-           (Ident (Identifier "lim")))-    , MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "k"-              , Text "="-              , Text "0"-              , HardBreak-              , Text "k"-              , Code-                  "test/typ/math/attach-08.typ"-                  ( line 3 , column 40 )-                  (Ident (Identifier "in"))-              , Code-                  "test/typ/math/attach-08.typ"-                  ( line 3 , column 43 )-                  (Ident (Identifier "NN"))-              ]))-        (Just (Text "n"))-        (Code-           "test/typ/math/attach-08.typ"-           ( line 3 , column 27 )-           (Ident (Identifier "sum")))-    , Text "k"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: { text(body: [n]), -                                                        text(body: [→]), -                                                        text(body: [∞]), -                                                        linebreak(), -                                                        text(body: [n]), -                                                        text(body: [ grows]) }, -                                                   base: math.op(limits: true, -                                                                 text: "lim"), -                                                   t: none), -                                       math.attach(b: { text(body: [k]), -                                                        text(body: [=]), -                                                        text(body: [0]), -                                                        linebreak(), -                                                        text(body: [k]), -                                                        text(body: [∈]), -                                                        text(body: [ℕ]) }, -                                                   base: text(body: [∑]), -                                                   t: text(body: [n])), -                                       text(body: [k]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/attach-09.out
@@ -1,154 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/attach-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/attach-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/attach-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MAttach-        (Just (Text "1"))-        (Just (Text "2"))-        (Code-           "test/typ/math/attach-09.typ"-           ( line 3 , column 3 )-           (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "A" ] ]))-    , Code-        "test/typ/math/attach-09.typ"-        ( line 3 , column 17 )-        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))-    , MAttach (Just (Text "1")) (Just (Text "2")) (Text "A")-    ]-, SoftBreak-, Equation-    True-    [ MAttach-        (Just (Text "1"))-        (Just (Text "2"))-        (Code-           "test/typ/math/attach-09.typ"-           ( line 4 , column 3 )-           (FuncCall-              (Ident (Identifier "scripts"))-              [ BlockArg-                  [ Code-                      "test/typ/math/attach-09.typ"-                      ( line 4 , column 11 )-                      (Ident (Identifier "sum"))-                  ]-              ]))-    , Code-        "test/typ/math/attach-09.typ"-        ( line 4 , column 20 )-        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))-    , MAttach-        (Just (Text "1"))-        (Just (Text "2"))-        (Code-           "test/typ/math/attach-09.typ"-           ( line 4 , column 23 )-           (Ident (Identifier "sum")))-    ]-, SoftBreak-, Equation-    True-    [ MAttach-        (Just (Text "a"))-        (Just (Text "b"))-        (Code-           "test/typ/math/attach-09.typ"-           ( line 5 , column 3 )-           (FuncCall-              (Ident (Identifier "limits"))-              [ BlockArg-                  [ Code-                      "test/typ/math/attach-09.typ"-                      ( line 5 , column 10 )-                      (Ident (Identifier "integral"))-                  ]-              ]))-    , Code-        "test/typ/math/attach-09.typ"-        ( line 5 , column 24 )-        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))-    , MAttach-        (Just (Text "a"))-        (Just (Text "b"))-        (Code-           "test/typ/math/attach-09.typ"-           ( line 5 , column 27 )-           (Ident (Identifier "integral")))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: text(body: [1]), -                                                   base: math.limits(body: text(body: [A])), -                                                   t: text(body: [2])), -                                       text(body: [≠]), -                                       math.attach(b: text(body: [1]), -                                                   base: text(body: [A]), -                                                   t: text(body: [2])) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: text(body: [1]), -                                                   base: math.scripts(body: text(body: [∑])), -                                                   t: text(body: [2])), -                                       text(body: [≠]), -                                       math.attach(b: text(body: [1]), -                                                   base: text(body: [∑]), -                                                   t: text(body: [2])) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: text(body: [a]), -                                                   base: math.limits(body: text(body: [∫])), -                                                   t: text(body: [b])), -                                       text(body: [≠]), -                                       math.attach(b: text(body: [a]), -                                                   base: text(body: [∫]), -                                                   t: text(body: [b])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/cancel-00.out
@@ -1,141 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/cancel-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/cancel-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/cancel-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "a"-    , Text "+"-    , Text "5"-    , Text "+"-    , Code-        "test/typ/math/cancel-00.typ"-        ( line 3 , column 10 )-        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "x" ] ])-    , Text "+"-    , Text "b"-    , Code-        "test/typ/math/cancel-00.typ"-        ( line 3 , column 24 )-        (Ident (Identifier "minus"))-    , Code-        "test/typ/math/cancel-00.typ"-        ( line 3 , column 26 )-        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "x" ] ])-    ]-, ParBreak-, Equation-    False-    [ Text "c"-    , Text "+"-    , MFrac-        (MGroup-           (Just "(")-           (Just ")")-           [ Text "a"-           , Code-               "test/typ/math/cancel-00.typ"-               ( line 5 , column 9 )-               (FieldAccess (Ident (Identifier "c")) (Ident (Identifier "dot")))-           , Code-               "test/typ/math/cancel-00.typ"-               ( line 5 , column 15 )-               (FuncCall-                  (Ident (Identifier "cancel"))-                  [ BlockArg-                      [ Text "b"-                      , Code-                          "test/typ/math/cancel-00.typ"-                          ( line 5 , column 24 )-                          (FieldAccess (Ident (Identifier "c")) (Ident (Identifier "dot")))-                      , Text "c"-                      ]-                  ])-           ])-        (MGroup-           Nothing-           Nothing-           [ Code-               "test/typ/math/cancel-00.typ"-               ( line 5 , column 35 )-               (FuncCall-                  (Ident (Identifier "cancel"))-                  [ BlockArg-                      [ Text "b"-                      , Code-                          "test/typ/math/cancel-00.typ"-                          ( line 5 , column 44 )-                          (FieldAccess (Ident (Identifier "c")) (Ident (Identifier "dot")))-                      , Text "c"-                      ]-                  ])-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [+]), -                                       text(body: [5]), -                                       text(body: [+]), -                                       math.cancel(body: text(body: [x])), -                                       text(body: [+]), -                                       text(body: [b]), -                                       text(body: [−]), -                                       math.cancel(body: text(body: [x])) }, -                               numbering: none), -                 parbreak(), -                 math.equation(block: false, -                               body: { text(body: [c]), -                                       text(body: [+]), -                                       math.frac(denom: math.cancel(body: { text(body: [b]), -                                                                            text(body: [·]), -                                                                            text(body: [c]) }), -                                                 num: { text(body: [a]), -                                                        text(body: [·]), -                                                        math.cancel(body: { text(body: [b]), -                                                                            text(body: [·]), -                                                                            text(body: [c]) }) }) }, -                               numbering: none), -                 parbreak() })
− test/out/math/cancel-01.out
@@ -1,182 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/cancel-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/cancel-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/cancel-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/cancel-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto) ])-, SoftBreak-, Equation-    True-    [ Text "a"-    , Text "+"-    , Text "b"-    , Text "+"-    , Code-        "test/typ/math/cancel-01.typ"-        ( line 4 , column 11 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "b" , Text "+" , Text "c" ] ])-    , Code-        "test/typ/math/cancel-01.typ"-        ( line 4 , column 25 )-        (Ident (Identifier "minus"))-    , Code-        "test/typ/math/cancel-01.typ"-        ( line 4 , column 27 )-        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "b" ] ])-    , Code-        "test/typ/math/cancel-01.typ"-        ( line 4 , column 37 )-        (Ident (Identifier "minus"))-    , Code-        "test/typ/math/cancel-01.typ"-        ( line 4 , column 39 )-        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "c" ] ])-    , Code-        "test/typ/math/cancel-01.typ"-        ( line 4 , column 49 )-        (Ident (Identifier "minus"))-    , Text "5"-    , Text "+"-    , Code-        "test/typ/math/cancel-01.typ"-        ( line 4 , column 55 )-        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "6" ] ])-    , Code-        "test/typ/math/cancel-01.typ"-        ( line 4 , column 65 )-        (Ident (Identifier "minus"))-    , Code-        "test/typ/math/cancel-01.typ"-        ( line 4 , column 67 )-        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "6" ] ])-    ]-, SoftBreak-, Equation-    True-    [ Text "e"-    , Text "+"-    , MFrac-        (MGroup-           (Just "(")-           (Just ")")-           [ Text "a"-           , Code-               "test/typ/math/cancel-01.typ"-               ( line 5 , column 10 )-               (FieldAccess (Ident (Identifier "c")) (Ident (Identifier "dot")))-           , Code-               "test/typ/math/cancel-01.typ"-               ( line 5 , column 16 )-               (FuncCall-                  (Ident (Identifier "cancel"))-                  [ BlockArg-                      [ MGroup-                          (Just "(")-                          (Just ")")-                          [ Text "b" , Text "+" , Text "c" , Text "+" , Text "d" ]-                      ]-                  ])-           ])-        (MGroup-           Nothing-           Nothing-           [ Code-               "test/typ/math/cancel-01.typ"-               ( line 5 , column 38 )-               (FuncCall-                  (Ident (Identifier "cancel"))-                  [ BlockArg [ Text "b" , Text "+" , Text "c" , Text "+" , Text "d" ]-                  ])-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [a]), -                                       text(body: [+]), -                                       text(body: [b]), -                                       text(body: [+]), -                                       math.cancel(body: { text(body: [b]), -                                                           text(body: [+]), -                                                           text(body: [c]) }), -                                       text(body: [−]), -                                       math.cancel(body: text(body: [b])), -                                       text(body: [−]), -                                       math.cancel(body: text(body: [c])), -                                       text(body: [−]), -                                       text(body: [5]), -                                       text(body: [+]), -                                       math.cancel(body: text(body: [6])), -                                       text(body: [−]), -                                       math.cancel(body: text(body: [6])) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [e]), -                                       text(body: [+]), -                                       math.frac(denom: math.cancel(body: { text(body: [b]), -                                                                            text(body: [+]), -                                                                            text(body: [c]), -                                                                            text(body: [+]), -                                                                            text(body: [d]) }), -                                                 num: { text(body: [a]), -                                                        text(body: [·]), -                                                        math.cancel(body: math.lr(body: ({ [(], -                                                                                           text(body: [b]), -                                                                                           text(body: [+]), -                                                                                           text(body: [c]), -                                                                                           text(body: [+]), -                                                                                           text(body: [d]), -                                                                                           [)] }))) }) }, -                               numbering: none), -                 parbreak() })
− test/out/math/cancel-02.out
@@ -1,125 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/cancel-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/cancel-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/cancel-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "a"-    , Text "+"-    , Code-        "test/typ/math/cancel-02.typ"-        ( line 3 , column 6 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "x" ]-           , KeyValArg (Identifier "inverted") (Literal (Boolean True))-           ])-    , Code-        "test/typ/math/cancel-02.typ"-        ( line 3 , column 33 )-        (Ident (Identifier "minus"))-    , Code-        "test/typ/math/cancel-02.typ"-        ( line 3 , column 35 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "x" ]-           , KeyValArg (Identifier "inverted") (Literal (Boolean True))-           ])-    , Text "+"-    , Text "10"-    , Text "+"-    , Code-        "test/typ/math/cancel-02.typ"-        ( line 3 , column 69 )-        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "y" ] ])-    , Code-        "test/typ/math/cancel-02.typ"-        ( line 3 , column 79 )-        (Ident (Identifier "minus"))-    , Code-        "test/typ/math/cancel-02.typ"-        ( line 3 , column 81 )-        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "y" ] ])-    ]-, SoftBreak-, Equation-    True-    [ Text "x"-    , Text "+"-    , Code-        "test/typ/math/cancel-02.typ"-        ( line 4 , column 7 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "abcdefg" ]-           , KeyValArg (Identifier "inverted") (Literal (Boolean True))-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [+]), -                                       math.cancel(body: text(body: [x]), -                                                   inverted: true), -                                       text(body: [−]), -                                       math.cancel(body: text(body: [x]), -                                                   inverted: true), -                                       text(body: [+]), -                                       text(body: [10]), -                                       text(body: [+]), -                                       math.cancel(body: text(body: [y])), -                                       text(body: [−]), -                                       math.cancel(body: text(body: [y])) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [x]), -                                       text(body: [+]), -                                       math.cancel(body: text(body: [abcdefg]), -                                                   inverted: true) }, -                               numbering: none), -                 parbreak() })
− test/out/math/cancel-03.out
@@ -1,107 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/cancel-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/cancel-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/cancel-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "a"-    , Text "+"-    , Code-        "test/typ/math/cancel-03.typ"-        ( line 3 , column 6 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "b" , Text "+" , Text "c" , Text "+" , Text "d" ]-           , KeyValArg (Identifier "cross") (Literal (Boolean True))-           , KeyValArg (Identifier "stroke") (Ident (Identifier "red"))-           ])-    , Text "+"-    , Text "e"-    ]-, SoftBreak-, Equation-    True-    [ Text "a"-    , Text "+"-    , Code-        "test/typ/math/cancel-03.typ"-        ( line 4 , column 7 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "b" , Text "+" , Text "c" , Text "+" , Text "d" ]-           , KeyValArg (Identifier "cross") (Literal (Boolean True))-           ])-    , Text "+"-    , Text "e"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [+]), -                                       math.cancel(body: { text(body: [b]), -                                                           text(body: [+]), -                                                           text(body: [c]), -                                                           text(body: [+]), -                                                           text(body: [d]) }, -                                                   cross: true, -                                                   stroke: rgb(100%,25%,21%,100%)), -                                       text(body: [+]), -                                       text(body: [e]) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [a]), -                                       text(body: [+]), -                                       math.cancel(body: { text(body: [b]), -                                                           text(body: [+]), -                                                           text(body: [c]), -                                                           text(body: [+]), -                                                           text(body: [d]) }, -                                                   cross: true), -                                       text(body: [+]), -                                       text(body: [e]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/cancel-04.out
@@ -1,148 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/cancel-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/cancel-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/cancel-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/cancel-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt))-       , KeyValArg (Identifier "height") (Literal Auto)-       ])-, SoftBreak-, Equation-    False-    [ Text "a"-    , Text "+"-    , Code-        "test/typ/math/cancel-04.typ"-        ( line 4 , column 6 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "x" ]-           , KeyValArg (Identifier "length") (Literal (Numeric 200.0 Percent))-           ])-    , Code-        "test/typ/math/cancel-04.typ"-        ( line 4 , column 31 )-        (Ident (Identifier "minus"))-    , Code-        "test/typ/math/cancel-04.typ"-        ( line 4 , column 33 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "x" ]-           , KeyValArg (Identifier "length") (Literal (Numeric 50.0 Percent))-           , KeyValArg-               (Identifier "stroke")-               (Block-                  (CodeBlock-                     [ Plus (Ident (Identifier "red")) (Literal (Numeric 1.1 Pt)) ]))-           ])-    ]-, SoftBreak-, Equation-    True-    [ Text "b"-    , Text "+"-    , Code-        "test/typ/math/cancel-04.typ"-        ( line 5 , column 7 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "x" ]-           , KeyValArg (Identifier "length") (Literal (Numeric 150.0 Percent))-           ])-    , Code-        "test/typ/math/cancel-04.typ"-        ( line 5 , column 32 )-        (Ident (Identifier "minus"))-    , Code-        "test/typ/math/cancel-04.typ"-        ( line 5 , column 34 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "a" , Text "+" , Text "b" , Text "+" , Text "c" ]-           , KeyValArg (Identifier "length") (Literal (Numeric 50.0 Percent))-           , KeyValArg-               (Identifier "stroke")-               (Block-                  (CodeBlock-                     [ Plus (Ident (Identifier "blue")) (Literal (Numeric 1.2 Pt)) ]))-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [+]), -                                       math.cancel(body: text(body: [x]), -                                                   length: 200%), -                                       text(body: [−]), -                                       math.cancel(body: text(body: [x]), -                                                   length: 50%, -                                                   stroke: (thickness: 1.1pt,-                                                            color: rgb(100%,25%,21%,100%))) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [b]), -                                       text(body: [+]), -                                       math.cancel(body: text(body: [x]), -                                                   length: 150%), -                                       text(body: [−]), -                                       math.cancel(body: { text(body: [a]), -                                                           text(body: [+]), -                                                           text(body: [b]), -                                                           text(body: [+]), -                                                           text(body: [c]) }, -                                                   length: 50%, -                                                   stroke: (thickness: 1.2pt,-                                                            color: rgb(0%,45%,85%,100%))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/cancel-05.out
@@ -1,135 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/cancel-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/cancel-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/cancel-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "x"-    , Text "+"-    , Code-        "test/typ/math/cancel-05.typ"-        ( line 3 , column 6 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "y" ]-           , KeyValArg (Identifier "rotation") (Literal (Numeric 90.0 Deg))-           ])-    , Code-        "test/typ/math/cancel-05.typ"-        ( line 3 , column 34 )-        (Ident (Identifier "minus"))-    , Code-        "test/typ/math/cancel-05.typ"-        ( line 3 , column 36 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg [ Text "z" ]-           , KeyValArg (Identifier "rotation") (Literal (Numeric 135.0 Deg))-           ])-    ]-, SoftBreak-, Equation-    True-    [ Text "e"-    , Text "+"-    , Code-        "test/typ/math/cancel-05.typ"-        ( line 4 , column 7 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg-               [ MFrac-                   (MGroup (Just "(") (Just ")") [ Text "j" , Text "+" , Text "e" ])-                   (MGroup Nothing Nothing [ Text "f" , Text "+" , Text "e" ])-               ]-           ])-    , Code-        "test/typ/math/cancel-05.typ"-        ( line 4 , column 31 )-        (Ident (Identifier "minus"))-    , Code-        "test/typ/math/cancel-05.typ"-        ( line 4 , column 33 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg-               [ MFrac-                   (MGroup (Just "(") (Just ")") [ Text "j" , Text "+" , Text "e" ])-                   (MGroup Nothing Nothing [ Text "f" , Text "+" , Text "e" ])-               ]-           , KeyValArg (Identifier "rotation") (Literal (Numeric 30.0 Deg))-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [x]), -                                       text(body: [+]), -                                       math.cancel(body: text(body: [y]), -                                                   rotation: 90.0deg), -                                       text(body: [−]), -                                       math.cancel(body: text(body: [z]), -                                                   rotation: 135.0deg) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [e]), -                                       text(body: [+]), -                                       math.cancel(body: math.frac(denom: { text(body: [f]), -                                                                            text(body: [+]), -                                                                            text(body: [e]) }, -                                                                   num: { text(body: [j]), -                                                                          text(body: [+]), -                                                                          text(body: [e]) })), -                                       text(body: [−]), -                                       math.cancel(body: math.frac(denom: { text(body: [f]), -                                                                            text(body: [+]), -                                                                            text(body: [e]) }, -                                                                   num: { text(body: [j]), -                                                                          text(body: [+]), -                                                                          text(body: [e]) }), -                                                   rotation: 30.0deg) }, -                               numbering: none), -                 parbreak() })
− test/out/math/cases-00.out
@@ -1,153 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/cases-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/cases-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/cases-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    True-    [ MGroup-        Nothing-        Nothing-        [ Text "f"-        , MGroup (Just "(") (Just ")") [ Text "x" , Text "," , Text "y" ]-        ]-    , Code-        "test/typ/math/cases-00.typ"-        ( line 2 , column 11 )-        (FieldAccess-           (Ident (Identifier "eq")) (Ident (Identifier "colon")))-    , Code-        "test/typ/math/cases-00.typ"-        ( line 2 , column 14 )-        (FuncCall-           (Ident (Identifier "cases"))-           [ BlockArg-               [ Text "1"-               , Code-                   "test/typ/math/cases-00.typ"-                   ( line 3 , column 5 )-                   (Ident (Identifier "quad"))-               , MAlignPoint-               , Text "if "-               , MFrac-                   (MGroup-                      (Just "(")-                      (Just ")")-                      [ Text "x"-                      , Code-                          "test/typ/math/cases-00.typ"-                          ( line 3 , column 19 )-                          (Ident (Identifier "dot"))-                      , Text "y"-                      ])-                   (Text "2")-               , Code-                   "test/typ/math/cases-00.typ"-                   ( line 3 , column 28 )-                   (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))-               , Text "0"-               ]-           , BlockArg-               [ Text "2"-               , MAlignPoint-               , Text "if "-               , Text "x"-               , Code-                   "test/typ/math/cases-00.typ"-                   ( line 4 , column 13 )-                   (Ident (Identifier "divides"))-               , Text "2"-               ]-           , BlockArg-               [ Text "3"-               , MAlignPoint-               , Text "if "-               , Text "x"-               , Code-                   "test/typ/math/cases-00.typ"-                   ( line 5 , column 13 )-                   (Ident (Identifier "in"))-               , Code-                   "test/typ/math/cases-00.typ"-                   ( line 5 , column 16 )-                   (Ident (Identifier "NN"))-               ]-           , BlockArg [ Text "4" , MAlignPoint , Text "else" ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [f]), -                                       math.lr(body: ({ [(], -                                                        text(body: [x]), -                                                        text(body: [,]), -                                                        text(body: [y]), -                                                        [)] })), -                                       text(body: [≔]), -                                       math.cases(children: ({ text(body: [1]), -                                                               text(body: [ ]), -                                                               math.alignpoint(), -                                                               text(body: [if ]), -                                                               math.frac(denom: text(body: [2]), -                                                                         num: { text(body: [x]), -                                                                                text(body: [⋅]), -                                                                                text(body: [y]) }), -                                                               text(body: [≤]), -                                                               text(body: [0]) }, -                                                             { text(body: [2]), -                                                               math.alignpoint(), -                                                               text(body: [if ]), -                                                               text(body: [x]), -                                                               text(body: [∣]), -                                                               text(body: [2]) }, -                                                             { text(body: [3]), -                                                               math.alignpoint(), -                                                               text(body: [if ]), -                                                               text(body: [x]), -                                                               text(body: [∈]), -                                                               text(body: [ℕ]) }, -                                                             { text(body: [4]), -                                                               math.alignpoint(), -                                                               text(body: [else]) })) }, -                               numbering: none), -                 parbreak() })
− test/out/math/content-00.out
@@ -1,115 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/content-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/content-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/content-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/content-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "monkey")))-       (FuncCall-          (Ident (Identifier "move"))-          [ KeyValArg (Identifier "dy") (Literal (Numeric 0.2 Em))-          , NormalArg-              (FuncCall-                 (Ident (Identifier "image"))-                 [ NormalArg (Literal (String "/assets/files/monkey.svg"))-                 , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))-                 ])-          ]))-, SoftBreak-, Equation-    True-    [ MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "i"-              , Text "="-              , Code-                  "test/typ/math/content-00.typ"-                  ( line 4 , column 11 )-                  (FieldAccess-                     (Ident (Identifier "apple")) (Ident (Identifier "emoji")))-              ]))-        (Just-           (Code-              "test/typ/math/content-00.typ"-              ( line 4 , column 25 )-              (FieldAccess-                 (Ident (Identifier "red"))-                 (FieldAccess-                    (Ident (Identifier "apple")) (Ident (Identifier "emoji"))))))-        (Code-           "test/typ/math/content-00.typ"-           ( line 4 , column 3 )-           (Ident (Identifier "sum")))-    , Text "i"-    , Text "+"-    , MFrac-        (Code-           "test/typ/math/content-00.typ"-           ( line 4 , column 45 )-           (Ident (Identifier "monkey")))-        (Text "2")-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: { text(body: [i]), -                                                        text(body: [=]), -                                                        text(body: [🍏]) }, -                                                   base: text(body: [∑]), -                                                   t: text(body: [🍎])), -                                       text(body: [i]), -                                       text(body: [+]), -                                       math.frac(denom: text(body: [2]), -                                                 num: move(body: image(height: 1.0em, -                                                                       path: "/assets/files/monkey.svg"), -                                                           dy: 0.2em)) }, -                               numbering: none), -                 parbreak() })
− test/out/math/content-01.out
@@ -1,100 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/content-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/content-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/content-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "x"-    , Code-        "test/typ/math/content-01.typ"-        ( line 3 , column 5 )-        (FieldAccess-           (Ident (Identifier "eq")) (Ident (Identifier "colon")))-    , MFrac-        (Code-           "test/typ/math/content-01.typ"-           ( line 3 , column 9 )-           (FuncCall-              (Ident (Identifier "table"))-              [ KeyValArg (Identifier "columns") (Literal (Int 2))-              , BlockArg [ Text "x" ]-              , BlockArg [ Text "y" ]-              ]))-        (Code-           "test/typ/math/content-01.typ"-           ( line 3 , column 33 )-           (FuncCall-              (Ident (Identifier "mat"))-              [ BlockArg [ Text "1" ]-              , BlockArg [ Text "2" ]-              , BlockArg [ Text "3" ]-              ]))-    , Text "="-    , Code-        "test/typ/math/content-01.typ"-        ( line 4 , column 9 )-        (FuncCall-           (Ident (Identifier "table"))-           [ BlockArg [ Text "A" ]-           , BlockArg [ Text "B" ]-           , BlockArg [ Text "C" ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [x]), -                                       text(body: [≔]), -                                       math.frac(denom: math.mat(rows: ((text(body: [1]), -                                                                         text(body: [2]), -                                                                         text(body: [3])))), -                                                 num: table(children: (text(body: [x]), -                                                                       text(body: [y])), -                                                            columns: 2)), -                                       text(body: [=]), -                                       table(children: (text(body: [A]), -                                                        text(body: [B]), -                                                        text(body: [C]))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/content-02.out
@@ -1,61 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/content-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/content-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/content-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/content-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "attach")) (Ident (Identifier "math")))-       [ NormalArg (Block (Content [ Equation False [ Text "a" ] ]))-       , KeyValArg (Identifier "t") (Block (Content [ Text "b" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.attach(base: math.equation(block: false, -                                                 body: text(body: [a]), -                                                 numbering: none), -                             t: text(body: [b])), -                 parbreak() })
− test/out/math/content-03.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/content-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/content-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/content-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/content-03.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "here")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "text")))-          [ KeyValArg (Identifier "font") (Literal (String "Noto Sans")) ]))-, SoftBreak-, Equation-    False-    [ Code-        "test/typ/math/content-03.typ"-        ( line 4 , column 3 )-        (FuncCall (Ident (Identifier "here")) [ BlockArg [ Text "f" ] ])-    , Code-        "test/typ/math/content-03.typ"-        ( line 4 , column 11 )-        (FieldAccess-           (Ident (Identifier "eq")) (Ident (Identifier "colon")))-    , Code-        "test/typ/math/content-03.typ"-        ( line 4 , column 15 )-        (FuncCall-           (Ident (Identifier "here"))-           [ BlockArg [ Text "Hi" , Space , Text "there" ] ])-    ]-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: text(body: [f]), -                                            font: "Noto Sans"), -                                       text(body: [≔]), -                                       text(body: { text(body: [Hi]), -                                                    text(body: [ ]), -                                                    text(body: [there]) }, -                                            font: "Noto Sans") }, -                               numbering: none), -                 text(body: [.]), -                 parbreak() })
− test/out/math/delimited-00.out
@@ -1,128 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/delimited-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/delimited-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/delimited-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MGroup (Just "(") (Just ")") [ Text "a" ]-    , Text "+"-    , MGroup (Just "{") (Just "}") [ MFrac (Text "b") (Text "2") ]-    , Text "+"-    , Text "|"-    , Text "a"-    , MFrac (Text "|") (Text "2")-    , Text "+"-    , MGroup (Just "(") (Just ")") [ Text "b" ]-    ]-, SoftBreak-, Equation-    False-    [ MGroup-        Nothing-        Nothing-        [ Text "f"-        , MGroup (Just "(") (Just ")") [ MFrac (Text "x") (Text "2") ]-        ]-    , Text "<"-    , Code-        "test/typ/math/delimited-00.typ"-        ( line 4 , column 11 )-        (FuncCall-           (Ident (Identifier "zeta"))-           [ BlockArg-               [ MAttach Nothing (Just (Text "2")) (Text "c")-               , Text "+"-               , Text "|"-               , Text "a"-               , Text "+"-               , MFrac (Text "b") (Text "2")-               , Text "|"-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.lr(body: ({ [(], -                                                        text(body: [a]), -                                                        [)] })), -                                       text(body: [+]), -                                       math.lr(body: ({ [{], -                                                        math.frac(denom: text(body: [2]), -                                                                  num: text(body: [b])), -                                                        [}] })), -                                       text(body: [+]), -                                       text(body: [|]), -                                       text(body: [a]), -                                       math.frac(denom: text(body: [2]), -                                                 num: text(body: [|])), -                                       text(body: [+]), -                                       math.lr(body: ({ [(], -                                                        text(body: [b]), -                                                        [)] })) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [f]), -                                       math.lr(body: ({ [(], -                                                        math.frac(denom: text(body: [2]), -                                                                  num: text(body: [x])), -                                                        [)] })), -                                       text(body: [<]), -                                       text(body: [ζ]), -                                       text(body: [(]), -                                       math.attach(b: none, -                                                   base: text(body: [c]), -                                                   t: text(body: [2])), -                                       text(body: [+]), -                                       text(body: [|]), -                                       text(body: [a]), -                                       text(body: [+]), -                                       math.frac(denom: text(body: [2]), -                                                 num: text(body: [b])), -                                       text(body: [|]), -                                       text(body: [)]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/delimited-01.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/delimited-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/delimited-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/delimited-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ MGroup-        (Just "[")-        Nothing-        [ Text "1"-        , Text ","-        , Text "2"-        , MGroup-            (Just "[")-            Nothing-            [ Text "="-            , MGroup-                (Just "[")-                Nothing-                [ Text "1"-                , Text ","-                , Text "2"-                , Text ")"-                , Code-                    "test/typ/math/delimited-01.typ"-                    ( line 3 , column 16 )-                    (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))-                , Code-                    "test/typ/math/delimited-01.typ"-                    ( line 3 , column 19 )-                    (Ident (Identifier "zeta"))-                , Text "("-                , MFrac (Text "x") (Text "2")-                , Text ")"-                ]-            ]-        ]-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [[]), -                                       text(body: [1]), -                                       text(body: [,]), -                                       text(body: [2]), -                                       text(body: [[]), -                                       text(body: [=]), -                                       text(body: [[]), -                                       text(body: [1]), -                                       text(body: [,]), -                                       text(body: [2]), -                                       text(body: [)]), -                                       text(body: [≠]), -                                       text(body: [ζ]), -                                       text(body: [(]), -                                       math.frac(denom: text(body: [2]), -                                                 num: text(body: [x])), -                                       text(body: [)]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/delimited-02.out
@@ -1,146 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/delimited-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/delimited-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/delimited-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/delimited-02.typ"-        ( line 3 , column 3 )-        (FieldAccess-           (Ident (Identifier "l"))-           (FieldAccess-              (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-    , MFrac (Text "a") (Text "b")-    , Code-        "test/typ/math/delimited-02.typ"-        ( line 3 , column 8 )-        (FieldAccess-           (Ident (Identifier "r"))-           (FieldAccess-              (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-    , Code-        "test/typ/math/delimited-02.typ"-        ( line 3 , column 11 )-        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))-    , Code-        "test/typ/math/delimited-02.typ"-        ( line 3 , column 14 )-        (FuncCall-           (Ident (Identifier "lr"))-           [ BlockArg-               [ Code-                   "test/typ/math/delimited-02.typ"-                   ( line 3 , column 17 )-                   (FieldAccess-                      (Ident (Identifier "r"))-                      (FieldAccess-                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-               , MFrac (Text "a") (Text "b")-               , Code-                   "test/typ/math/delimited-02.typ"-                   ( line 3 , column 22 )-                   (FieldAccess-                      (Ident (Identifier "r"))-                      (FieldAccess-                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-               ]-           ])-    , Code-        "test/typ/math/delimited-02.typ"-        ( line 3 , column 26 )-        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))-    , MGroup-        (Just "[") Nothing [ MFrac (Text "a") (Text "b") , Text ")" ]-    ]-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/delimited-02.typ"-        ( line 4 , column 3 )-        (FuncCall-           (Ident (Identifier "lr"))-           [ BlockArg [ Text "|" , Text "]" , Text "1" ]-           , BlockArg-               [ Text "2"-               , Text "["-               , Text "+"-               , MFrac (Text "1") (Text "2")-               , Text "|"-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [⟦]), -                                       math.frac(denom: text(body: [b]), -                                                 num: text(body: [a])), -                                       text(body: [⟧]), -                                       text(body: [≠]), -                                       math.lr(body: ({ text(body: [⟧]), -                                                        math.frac(denom: text(body: [b]), -                                                                  num: text(body: [a])), -                                                        text(body: [⟧]) })), -                                       text(body: [≠]), -                                       text(body: [[]), -                                       math.frac(denom: text(body: [b]), -                                                 num: text(body: [a])), -                                       text(body: [)]) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.lr(body: ({ text(body: [|]), -                                                      text(body: []]), -                                                      text(body: [1]) }, -                                                    { text(body: [2]), -                                                      text(body: [[]), -                                                      text(body: [+]), -                                                      math.frac(denom: text(body: [2]), -                                                                num: text(body: [1])), -                                                      text(body: [|]) })), -                               numbering: none), -                 parbreak() })
− test/out/math/delimited-03.out
@@ -1,96 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/delimited-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/delimited-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/delimited-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "|"-    , Text "x"-    , Text "+"-    , Text "|"-    , Text "y"-    , Text "|"-    , Text "+"-    , MFrac (Text "z") (Text "a")-    , Text "|"-    , HardBreak-    , Text "|"-    , Text "x"-    , Text "+"-    , Code-        "test/typ/math/delimited-03.typ"-        ( line 4 , column 8 )-        (FuncCall-           (Ident (Identifier "lr"))-           [ BlockArg [ Text "|" , Text "y" , Text "|" ] ])-    , Text "+"-    , MFrac (Text "z") (Text "a")-    , Text "|"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [|]), -                                       text(body: [x]), -                                       text(body: [+]), -                                       text(body: [|]), -                                       text(body: [y]), -                                       text(body: [|]), -                                       text(body: [+]), -                                       math.frac(denom: text(body: [a]), -                                                 num: text(body: [z])), -                                       text(body: [|]), -                                       linebreak(), -                                       text(body: [|]), -                                       text(body: [x]), -                                       text(body: [+]), -                                       math.lr(body: ({ text(body: [|]), -                                                        text(body: [y]), -                                                        text(body: [|]) })), -                                       text(body: [+]), -                                       math.frac(denom: text(body: [a]), -                                                 num: text(body: [z])), -                                       text(body: [|]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/delimited-04.out
@@ -1,93 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/delimited-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/delimited-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/delimited-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/delimited-04.typ"-        ( line 3 , column 3 )-        (FieldAccess-           (Ident (Identifier "l")) (Ident (Identifier "bracket")))-    , MFrac (Text "a") (Text "b")-    , Code-        "test/typ/math/delimited-04.typ"-        ( line 3 , column 17 )-        (FieldAccess-           (Ident (Identifier "r")) (Ident (Identifier "bracket")))-    , Text "="-    , Code-        "test/typ/math/delimited-04.typ"-        ( line 4 , column 5 )-        (FuncCall-           (Ident (Identifier "lr"))-           [ BlockArg-               [ Code-                   "test/typ/math/delimited-04.typ"-                   ( line 4 , column 8 )-                   (FieldAccess-                      (Ident (Identifier "l")) (Ident (Identifier "bracket")))-               , MFrac (Text "a") (Text "b")-               , Code-                   "test/typ/math/delimited-04.typ"-                   ( line 4 , column 22 )-                   (FieldAccess-                      (Ident (Identifier "r")) (Ident (Identifier "bracket")))-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [[]), -                                       math.frac(denom: text(body: [b]), -                                                 num: text(body: [a])), -                                       text(body: []]), -                                       text(body: [=]), -                                       math.lr(body: ({ text(body: [[]), -                                                        math.frac(denom: text(body: [b]), -                                                                  num: text(body: [a])), -                                                        text(body: []]) })) }, -                               numbering: none), -                 parbreak() })
− test/out/math/delimited-05.out
@@ -1,77 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/delimited-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/delimited-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/delimited-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/delimited-05.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "lr"))-           [ BlockArg [ MFrac (Text "a") (Text "b") , Text "]" ] ])-    , Text "="-    , Text "a"-    , Text "="-    , Code-        "test/typ/math/delimited-05.typ"-        ( line 3 , column 19 )-        (FuncCall-           (Ident (Identifier "lr"))-           [ BlockArg [ Text "{" , MFrac (Text "a") (Text "b") ] ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.lr(body: ({ math.frac(denom: text(body: [b]), -                                                                  num: text(body: [a])), -                                                        text(body: []]) })), -                                       text(body: [=]), -                                       text(body: [a]), -                                       text(body: [=]), -                                       math.lr(body: ({ text(body: [{]), -                                                        math.frac(denom: text(body: [b]), -                                                                  num: text(body: [a])) })) }, -                               numbering: none), -                 parbreak() })
− test/out/math/delimited-06.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/delimited-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/delimited-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/delimited-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/delimited-06.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "lr"))-           [ BlockArg-               [ Text "]"-               , MAttach-                   (Just (MGroup Nothing Nothing [ Text "x" , Text "=" , Text "1" ]))-                   (Just (Text "n"))-                   (Code-                      "test/typ/math/delimited-06.typ"-                      ( line 3 , column 7 )-                      (Ident (Identifier "sum")))-               , Text "x"-               , Text "]"-               ]-           , KeyValArg (Identifier "size") (Literal (Numeric 70.0 Percent))-           ])-    , Text "<"-    , Code-        "test/typ/math/delimited-06.typ"-        ( line 4 , column 5 )-        (FuncCall-           (Ident (Identifier "lr"))-           [ BlockArg-               [ MGroup (Just "(") (Just ")") [ Text "1" , Text "," , Text "2" ] ]-           , KeyValArg (Identifier "size") (Literal (Numeric 200.0 Percent))-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.lr(body: ({ text(body: []]), -                                                        math.attach(b: { text(body: [x]), -                                                                         text(body: [=]), -                                                                         text(body: [1]) }, -                                                                    base: text(body: [∑]), -                                                                    t: text(body: [n])), -                                                        text(body: [x]), -                                                        text(body: []]) }), -                                               size: 70%), -                                       text(body: [<]), -                                       math.lr(body: (math.lr(body: ({ [(], -                                                                       text(body: [1]), -                                                                       text(body: [,]), -                                                                       text(body: [2]), -                                                                       [)] }))), -                                               size: 200%) }, -                               numbering: none), -                 parbreak() })
− test/out/math/delimited-07.out
@@ -1,85 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/delimited-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/delimited-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/delimited-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Code-        "test/typ/math/delimited-07.typ"-        ( line 3 , column 2 )-        (FuncCall-           (Ident (Identifier "floor"))-           [ BlockArg [ MFrac (Text "x") (Text "2") ] ])-    , Text ","-    , Code-        "test/typ/math/delimited-07.typ"-        ( line 3 , column 14 )-        (FuncCall-           (Ident (Identifier "ceil"))-           [ BlockArg [ MFrac (Text "x") (Text "2") ] ])-    , Text ","-    , Code-        "test/typ/math/delimited-07.typ"-        ( line 3 , column 25 )-        (FuncCall (Ident (Identifier "abs")) [ BlockArg [ Text "x" ] ])-    , Text ","-    , Code-        "test/typ/math/delimited-07.typ"-        ( line 3 , column 33 )-        (FuncCall (Ident (Identifier "norm")) [ BlockArg [ Text "x" ] ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { math.floor(body: math.frac(denom: text(body: [2]), -                                                                  num: text(body: [x]))), -                                       text(body: [,]), -                                       math.ceil(body: math.frac(denom: text(body: [2]), -                                                                 num: text(body: [x]))), -                                       text(body: [,]), -                                       math.abs(body: text(body: [x])), -                                       text(body: [,]), -                                       math.norm(body: text(body: [x])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/delimited-08.out
@@ -1,84 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/delimited-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/delimited-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/delimited-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/delimited-08.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "lr"))-           [ BlockArg-               [ Code-                   "test/typ/math/delimited-08.typ"-                   ( line 4 , column 5 )-                   (FuncCall-                      (Ident (Identifier "text"))-                      [ BlockArg [ Text "(" ]-                      , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-                      ])-               , MFrac (Text "a") (Text "b")-               , Code-                   "test/typ/math/delimited-08.typ"-                   ( line 5 , column 5 )-                   (FuncCall-                      (Ident (Identifier "text"))-                      [ BlockArg [ Text ")" ]-                      , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))-                      ])-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.lr(body: ({ text(body: text(body: [(]), -                                                           fill: rgb(18%,80%,25%,100%)), -                                                      math.frac(denom: text(body: [b]), -                                                                num: text(body: [a])), -                                                      text(body: text(body: [)]), -                                                           fill: rgb(0%,45%,85%,100%)) })), -                               numbering: none), -                 parbreak() })
− test/out/math/frac-00.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/frac-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/frac-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/frac-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "x"-    , Text "="-    , MFrac (Text "1") (Text "2")-    , Text "="-    , MFrac (Text "a") (MGroup Nothing Nothing [ Text "a" , Text "h" ])-    , Text "="-    , MFrac (Text "a") (Text "a")-    , Text "="-    , MFrac-        (Text "a") (MGroup Nothing Nothing [ MFrac (Text "1") (Text "2") ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [x]), -                                       text(body: [=]), -                                       math.frac(denom: text(body: [2]), -                                                 num: text(body: [1])), -                                       text(body: [=]), -                                       math.frac(denom: { text(body: [a]), -                                                          text(body: [h]) }, -                                                 num: text(body: [a])), -                                       text(body: [=]), -                                       math.frac(denom: text(body: [a]), -                                                 num: text(body: [a])), -                                       text(body: [=]), -                                       math.frac(denom: math.frac(denom: text(body: [2]), -                                                                  num: text(body: [1])), -                                                 num: text(body: [a])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/frac-01.out
@@ -1,85 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/frac-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/frac-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/frac-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MFrac-        (MGroup-           (Just "(")-           (Just ")")-           [ Text "|"-           , Text "x"-           , Text "|"-           , Text "+"-           , Text "|"-           , Text "y"-           , Text "|"-           ])-        (Text "2")-    , Text "<"-    , MFrac-        (MGroup (Just "[") (Just "]") [ Text "1" , Text "+" , Text "2" ])-        (Text "3")-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.frac(denom: text(body: [2]), -                                                 num: { text(body: [|]), -                                                        text(body: [x]), -                                                        text(body: [|]), -                                                        text(body: [+]), -                                                        text(body: [|]), -                                                        text(body: [y]), -                                                        text(body: [|]) }), -                                       text(body: [<]), -                                       math.frac(denom: text(body: [3]), -                                                 num: math.lr(body: ({ [[], -                                                                       text(body: [1]), -                                                                       text(body: [+]), -                                                                       text(body: [2]), -                                                                       []] }))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/frac-02.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/frac-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/frac-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/frac-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "x"-    , Text "="-    , MFrac-        (MGroup-           (Just "(")-           (Just ")")-           [ Code-               "test/typ/math/frac-02.typ"-               ( line 3 , column 8 )-               (Ident (Identifier "minus"))-           , Text "b"-           , Code-               "test/typ/math/frac-02.typ"-               ( line 3 , column 11 )-               (FieldAccess-                  (Ident (Identifier "minus")) (Ident (Identifier "plus")))-           , Code-               "test/typ/math/frac-02.typ"-               ( line 3 , column 22 )-               (FuncCall-                  (Ident (Identifier "sqrt"))-                  [ BlockArg-                      [ MAttach Nothing (Just (Text "2")) (Text "b")-                      , Code-                          "test/typ/math/frac-02.typ"-                          ( line 3 , column 31 )-                          (Ident (Identifier "minus"))-                      , Text "4"-                      , Text "a"-                      , Text "c"-                      ]-                  ])-           ])-        (MGroup Nothing Nothing [ Text "2" , Text "a" ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [x]), -                                       text(body: [=]), -                                       math.frac(denom: { text(body: [2]), -                                                          text(body: [a]) }, -                                                 num: { text(body: [−]), -                                                        text(body: [b]), -                                                        text(body: [±]), -                                                        math.sqrt(radicand: { math.attach(b: none, -                                                                                          base: text(body: [b]), -                                                                                          t: text(body: [2])), -                                                                              text(body: [−]), -                                                                              text(body: [4]), -                                                                              text(body: [a]), -                                                                              text(body: [c]) }) }) }, -                               numbering: none), -                 parbreak() })
− test/out/math/frac-03.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/frac-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/frac-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/frac-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/frac-03.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "binom"))-           [ BlockArg-               [ Code-                   "test/typ/math/frac-03.typ"-                   ( line 3 , column 9 )-                   (Ident (Identifier "circle"))-               ]-           , BlockArg-               [ Code-                   "test/typ/math/frac-03.typ"-                   ( line 3 , column 17 )-                   (Ident (Identifier "square"))-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.binom(lower: text(body: [□]), -                                                upper: text(body: [○])), -                               numbering: none), -                 parbreak() })
− test/out/math/frac-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/math/frac-05.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/frac-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/frac-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/frac-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MFrac (MFrac (Text "1") (Text "2")) (Text "3")-    , Text "="-    , MFrac-        (MGroup (Just "(") (Just ")") [ MFrac (Text "1") (Text "2") ])-        (Text "3")-    , Text "="-    , MFrac-        (Text "1") (MGroup Nothing Nothing [ MFrac (Text "2") (Text "3") ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.frac(denom: text(body: [3]), -                                                 num: math.frac(denom: text(body: [2]), -                                                                num: text(body: [1]))), -                                       text(body: [=]), -                                       math.frac(denom: text(body: [3]), -                                                 num: math.frac(denom: text(body: [2]), -                                                                num: text(body: [1]))), -                                       text(body: [=]), -                                       math.frac(denom: math.frac(denom: text(body: [3]), -                                                                  num: text(body: [2])), -                                                 num: text(body: [1])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/frac-06.out
@@ -1,226 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/frac-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/frac-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/frac-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MFrac-        (MAttach (Just (Text "1")) Nothing (Text "a"))-        (MAttach (Just (Text "2")) Nothing (Text "b"))-    , Text ","-    , MFrac-        (Text "1")-        (MGroup-           Nothing-           Nothing-           [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ])-    , Text ","-    , MFrac-        (Code-           "test/typ/math/frac-06.typ"-           ( line 3 , column 20 )-           (FuncCall (Ident (Identifier "zeta")) [ BlockArg [ Text "x" ] ]))-        (Text "2")-    , Text ","-    , Text " foo"-    , Code-        "test/typ/math/frac-06.typ"-        ( line 3 , column 36 )-        (FieldAccess-           (Ident (Identifier "l"))-           (FieldAccess-              (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-    , Text "x"-    , MFrac-        (Code-           "test/typ/math/frac-06.typ"-           ( line 3 , column 39 )-           (FieldAccess-              (Ident (Identifier "r"))-              (FieldAccess-                 (Ident (Identifier "double")) (Ident (Identifier "bracket")))))-        (Text "2")-    , HardBreak-    , MFrac (Text "1.2") (Text "3.7")-    , Text ","-    , MAttach Nothing (Just (Text "3.4")) (Text "2.3")-    , HardBreak-    , Text "\127987"-    , Text "\65039"-    , Text "\8205"-    , Text "\127752"-    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")-    , Text ","-    , Text "f"-    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")-    , Text ","-    , Code-        "test/typ/math/frac-06.typ"-        ( line 5 , column 23 )-        (Ident (Identifier "phi"))-    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")-    , Text ","-    , Text "\127987"-    , Text "\65039"-    , Text "\8205"-    , Text "\127752"-    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")-    , HardBreak-    , Text "+"-    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")-    , Text ","-    , Text "1"-    , MFrac (MGroup (Just "(") (Just ")") [ Text "x" ]) (Text "2")-    , Text ","-    , Text "2"-    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")-    , MGroup-        Nothing-        Nothing-        [ HardBreak , MGroup (Just "(") (Just ")") [ Text "a" ] ]-    , MFrac (Text "b") (Text "2")-    , Text ","-    , MGroup-        Nothing-        Nothing-        [ Text "b" , MGroup (Just "(") (Just ")") [ Text "a" ] ]-    , MFrac (MGroup (Just "[") (Just "]") [ Text "b" ]) (Text "2")-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.frac(denom: math.attach(b: text(body: [2]), -                                                                    base: text(body: [b]), -                                                                    t: none), -                                                 num: math.attach(b: text(body: [1]), -                                                                  base: text(body: [a]), -                                                                  t: none)), -                                       text(body: [,]), -                                       math.frac(denom: { text(body: [f]), -                                                          math.lr(body: ({ [(], -                                                                           text(body: [x]), -                                                                           [)] })) }, -                                                 num: text(body: [1])), -                                       text(body: [,]), -                                       math.frac(denom: text(body: [2]), -                                                 num: { text(body: [ζ]), -                                                        text(body: [(]), -                                                        text(body: [x]), -                                                        text(body: [)]) }), -                                       text(body: [,]), -                                       text(body: [ foo]), -                                       text(body: [⟦]), -                                       text(body: [x]), -                                       math.frac(denom: text(body: [2]), -                                                 num: text(body: [⟧])), -                                       linebreak(), -                                       math.frac(denom: text(body: [3.7]), -                                                 num: text(body: [1.2])), -                                       text(body: [,]), -                                       math.attach(b: none, -                                                   base: text(body: [2.3]), -                                                   t: text(body: [3.4])), -                                       linebreak(), -                                       text(body: [🏳]), -                                       text(body: [️]), -                                       text(body: [‍]), -                                       text(body: [🌈]), -                                       math.frac(denom: text(body: [2]), -                                                 num: math.lr(body: ({ [[], -                                                                       text(body: [x]), -                                                                       []] }))), -                                       text(body: [,]), -                                       text(body: [f]), -                                       math.frac(denom: text(body: [2]), -                                                 num: math.lr(body: ({ [[], -                                                                       text(body: [x]), -                                                                       []] }))), -                                       text(body: [,]), -                                       text(body: [φ]), -                                       math.frac(denom: text(body: [2]), -                                                 num: math.lr(body: ({ [[], -                                                                       text(body: [x]), -                                                                       []] }))), -                                       text(body: [,]), -                                       text(body: [🏳]), -                                       text(body: [️]), -                                       text(body: [‍]), -                                       text(body: [🌈]), -                                       math.frac(denom: text(body: [2]), -                                                 num: math.lr(body: ({ [[], -                                                                       text(body: [x]), -                                                                       []] }))), -                                       linebreak(), -                                       text(body: [+]), -                                       math.frac(denom: text(body: [2]), -                                                 num: math.lr(body: ({ [[], -                                                                       text(body: [x]), -                                                                       []] }))), -                                       text(body: [,]), -                                       text(body: [1]), -                                       math.frac(denom: text(body: [2]), -                                                 num: text(body: [x])), -                                       text(body: [,]), -                                       text(body: [2]), -                                       math.frac(denom: text(body: [2]), -                                                 num: math.lr(body: ({ [[], -                                                                       text(body: [x]), -                                                                       []] }))), -                                       linebreak(), -                                       math.lr(body: ({ [(], -                                                        text(body: [a]), -                                                        [)] })), -                                       math.frac(denom: text(body: [2]), -                                                 num: text(body: [b])), -                                       text(body: [,]), -                                       text(body: [b]), -                                       math.lr(body: ({ [(], -                                                        text(body: [a]), -                                                        [)] })), -                                       math.frac(denom: text(body: [2]), -                                                 num: math.lr(body: ({ [[], -                                                                       text(body: [b]), -                                                                       []] }))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-00.out
@@ -1,157 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/matrix-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center")) ])-, SoftBreak-, Equation-    False-    [ Code-        "test/typ/math/matrix-00.typ"-        ( line 4 , column 2 )-        (FuncCall (Ident (Identifier "mat")) [])-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 4 , column 8 )-        (Ident (Identifier "dot"))-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 5 , column 2 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg [ [ MGroup Nothing Nothing [] ] ] ])-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 5 , column 9 )-        (Ident (Identifier "dot"))-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 6 , column 2 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ BlockArg [ Text "1" ] , BlockArg [ Text "2" ] ])-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 6 , column 12 )-        (Ident (Identifier "dot"))-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 7 , column 2 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg [ [ Text "1" , Text "2" ] ] ])-    , HardBreak-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 8 , column 2 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg [ [ Text "1" ] , [ Text "2" ] ] ])-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 8 , column 12 )-        (Ident (Identifier "dot"))-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 9 , column 2 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg [ [ Text "1" , Text "2" ] , [ Text "3" , Text "4" ] ] ])-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 9 , column 18 )-        (Ident (Identifier "dot"))-    , Code-        "test/typ/math/matrix-00.typ"-        ( line 10 , column 2 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup-                     Nothing Nothing [ Text "1" , Text "+" , MAlignPoint , Text "2" ]-                 , MFrac (Text "1") (Text "2")-                 ]-               , [ MGroup Nothing Nothing [ MAlignPoint , Text "3" ] , Text "4" ]-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: false, -                               body: { math.mat(rows: ()), -                                       text(body: [⋅]), -                                       math.mat(rows: (({  }))), -                                       text(body: [⋅]), -                                       math.mat(rows: ((text(body: [1]), -                                                        text(body: [2])))), -                                       text(body: [⋅]), -                                       math.mat(rows: ((text(body: [1]), -                                                        text(body: [2])))), -                                       linebreak(), -                                       math.mat(rows: ((text(body: [1])), -                                                       (text(body: [2])))), -                                       text(body: [⋅]), -                                       math.mat(rows: ((text(body: [1]), -                                                        text(body: [2])), -                                                       (text(body: [3]), -                                                        text(body: [4])))), -                                       text(body: [⋅]), -                                       math.mat(rows: (({ text(body: [1]), -                                                          text(body: [+]), -                                                          math.alignpoint(), -                                                          text(body: [2]) }, -                                                        math.frac(denom: text(body: [2]), -                                                                  num: text(body: [1]))), -                                                       ({ math.alignpoint(), -                                                          text(body: [3]) }, -                                                        text(body: [4])))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-01.out
@@ -1,119 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/matrix-01.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ Text "1"-                 , Text "2"-                 , Code-                     "test/typ/math/matrix-01.typ"-                     ( line 4 , column 9 )-                     (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))-                 , Text "10"-                 ]-               , [ Text "2"-                 , Text "2"-                 , Code-                     "test/typ/math/matrix-01.typ"-                     ( line 5 , column 9 )-                     (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))-                 , Text "10"-                 ]-               , [ Code-                     "test/typ/math/matrix-01.typ"-                     ( line 6 , column 3 )-                     (FieldAccess (Ident (Identifier "v")) (Ident (Identifier "dots")))-                 , Code-                     "test/typ/math/matrix-01.typ"-                     ( line 6 , column 11 )-                     (FieldAccess (Ident (Identifier "v")) (Ident (Identifier "dots")))-                 , Code-                     "test/typ/math/matrix-01.typ"-                     ( line 6 , column 19 )-                     (FieldAccess-                        (Ident (Identifier "down")) (Ident (Identifier "dots")))-                 , Code-                     "test/typ/math/matrix-01.typ"-                     ( line 6 , column 30 )-                     (FieldAccess (Ident (Identifier "v")) (Ident (Identifier "dots")))-                 ]-               , [ Text "10"-                 , Text "10"-                 , Code-                     "test/typ/math/matrix-01.typ"-                     ( line 7 , column 11 )-                     (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))-                 , Text "10"-                 ]-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: ((text(body: [1]), -                                                      text(body: [2]), -                                                      text(body: […]), -                                                      text(body: [10])), -                                                     (text(body: [2]), -                                                      text(body: [2]), -                                                      text(body: […]), -                                                      text(body: [10])), -                                                     (text(body: [⋮]), -                                                      text(body: [⋮]), -                                                      text(body: [⋱]), -                                                      text(body: [⋮])), -                                                     (text(body: [10]), -                                                      text(body: [10]), -                                                      text(body: […]), -                                                      text(body: [10])))), -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-02.out
@@ -1,104 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/matrix-02.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ Text "a" , MAttach Nothing (Just (Text "2")) (Text "b") ]-               , [ MGroup-                     Nothing-                     Nothing-                     [ MAttach-                         (Just (MGroup Nothing Nothing [ Text "x" , HardBreak , Text "y" ]))-                         Nothing-                         (Code-                            "test/typ/math/matrix-02.typ"-                            ( line 5 , column 3 )-                            (Ident (Identifier "sum")))-                     , Text "x"-                     ]-                 , MAttach-                     Nothing-                     (Just (MGroup Nothing Nothing [ MFrac (Text "1") (Text "2") ]))-                     (Text "a")-                 ]-               , [ Code-                     "test/typ/math/matrix-02.typ"-                     ( line 6 , column 3 )-                     (Ident (Identifier "zeta"))-                 , Code-                     "test/typ/math/matrix-02.typ"-                     ( line 6 , column 9 )-                     (Ident (Identifier "alpha"))-                 ]-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: ((text(body: [a]), -                                                      math.attach(b: none, -                                                                  base: text(body: [b]), -                                                                  t: text(body: [2]))), -                                                     ({ math.attach(b: { text(body: [x]), -                                                                         linebreak(), -                                                                         text(body: [y]) }, -                                                                    base: text(body: [∑]), -                                                                    t: none), -                                                        text(body: [x]) }, -                                                      math.attach(b: none, -                                                                  base: text(body: [a]), -                                                                  t: math.frac(denom: text(body: [2]), -                                                                               num: text(body: [1])))), -                                                     (text(body: [ζ]), -                                                      text(body: [α])))), -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-03.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/matrix-03.typ"-    ( line 3 , column 2 )-    (Set-       (FieldAccess-          (Ident (Identifier "mat")) (Ident (Identifier "math")))-       [ KeyValArg (Identifier "delim") (Literal (String "[")) ])-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/matrix-03.typ"-        ( line 4 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg [ [ Text "1" , Text "2" ] , [ Text "3" , Text "4" ] ] ])-    ]-, SoftBreak-, Equation-    True-    [ Text "a"-    , Text "+"-    , Code-        "test/typ/math/matrix-03.typ"-        ( line 5 , column 7 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ KeyValArg (Identifier "delim") (Literal None)-           , ArrayArg [ [ Text "1" , Text "2" ] , [ Text "3" , Text "4" ] ]-           ])-    , Text "+"-    , Text "b"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: ((text(body: [1]), -                                                      text(body: [2])), -                                                     (text(body: [3]), -                                                      text(body: [4])))), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [a]), -                                       text(body: [+]), -                                       math.mat(rows: ((text(body: [1]), -                                                        text(body: [2])), -                                                       (text(body: [3]), -                                                        text(body: [4])))), -                                       text(body: [+]), -                                       text(body: [b]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-04.out
@@ -1,249 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/matrix-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center")) ])-, SoftBreak-, Code-    "test/typ/math/matrix-04.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg (Identifier "columns") (Literal (Int 3))-       , KeyValArg (Identifier "gutter") (Literal (Numeric 10.0 Pt))-       , NormalArg-           (Block-              (Content-                 [ Equation-                     True-                     [ Code-                         "test/typ/math/matrix-04.typ"-                         ( line 8 , column 5 )-                         (FuncCall-                            (Ident (Identifier "mat"))-                            [ BlockArg [ Text "1" ]-                            , BlockArg [ Text "2" ]-                            , KeyValArg (Identifier "delim") (Block (Content [ Text " [" ]))-                            ])-                     ]-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Equation-                     True-                     [ Code-                         "test/typ/math/matrix-04.typ"-                         ( line 9 , column 5 )-                         (FuncCall-                            (Ident (Identifier "mat"))-                            [ ArrayArg [ [ Text "1" , Text "2" ] ]-                            , KeyValArg (Identifier "delim") (Block (Content [ Text " [" ]))-                            ])-                     ]-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Equation-                     True-                     [ Code-                         "test/typ/math/matrix-04.typ"-                         ( line 10 , column 5 )-                         (FuncCall-                            (Ident (Identifier "mat"))-                            [ KeyValArg (Identifier "delim") (Block (Content [ Text " [" ]))-                            , BlockArg [ Text "1" ]-                            , BlockArg [ Text "2" ]-                            ])-                     ]-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Equation-                     True-                     [ Code-                         "test/typ/math/matrix-04.typ"-                         ( line 12 , column 5 )-                         (FuncCall-                            (Ident (Identifier "mat"))-                            [ ArrayArg [ [ Text "1" ] , [ Text "2" ] ]-                            , KeyValArg (Identifier "delim") (Block (Content [ Text " [" ]))-                            ])-                     ]-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Equation-                     True-                     [ Code-                         "test/typ/math/matrix-04.typ"-                         ( line 13 , column 5 )-                         (FuncCall-                            (Ident (Identifier "mat"))-                            [ ArrayArg [ [ Text "1" ] ]-                            , KeyValArg (Identifier "delim") (Block (Content [ Text " [" ]))-                            , BlockArg [ Text "2" ]-                            ])-                     ]-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Equation-                     True-                     [ Code-                         "test/typ/math/matrix-04.typ"-                         ( line 14 , column 5 )-                         (FuncCall-                            (Ident (Identifier "mat"))-                            [ KeyValArg (Identifier "delim") (Block (Content [ Text " [" ]))-                            , ArrayArg [ [ Text "1" ] , [ Text "2" ] ]-                            ])-                     ]-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Equation-                     True-                     [ Code-                         "test/typ/math/matrix-04.typ"-                         ( line 16 , column 5 )-                         (FuncCall-                            (Ident (Identifier "mat"))-                            [ ArrayArg [ [ Text "1" , Text "2" ] ]-                            , KeyValArg (Identifier "delim") (Block (Content [ Text " [" ]))-                            , BlockArg [ Text "3" ]-                            , BlockArg [ Text "4" ]-                            ])-                     ]-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Equation-                     True-                     [ Code-                         "test/typ/math/matrix-04.typ"-                         ( line 17 , column 5 )-                         (FuncCall-                            (Ident (Identifier "mat"))-                            [ KeyValArg (Identifier "delim") (Block (Content [ Text " [" ]))-                            , ArrayArg [ [ Text "1" , Text "2" ] , [ Text "3" , Text "4" ] ]-                            ])-                     ]-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Equation-                     True-                     [ Code-                         "test/typ/math/matrix-04.typ"-                         ( line 18 , column 5 )-                         (FuncCall-                            (Ident (Identifier "mat"))-                            [ ArrayArg [ [ Text "1" , Text "2" ] , [ Text "3" , Text "4" ] ]-                            , KeyValArg (Identifier "delim") (Block (Content [ Text " [" ]))-                            ])-                     ]-                 ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: (math.equation(block: true, -                                               body: math.mat(rows: ((text(body: [1]), -                                                                      text(body: [2])))), -                                               numbering: none), -                                 math.equation(block: true, -                                               body: math.mat(rows: ((text(body: [1]), -                                                                      text(body: [2])))), -                                               numbering: none), -                                 math.equation(block: true, -                                               body: math.mat(rows: ((text(body: [1]), -                                                                      text(body: [2])))), -                                               numbering: none), -                                 math.equation(block: true, -                                               body: math.mat(rows: ((text(body: [1])), -                                                                     (text(body: [2])))), -                                               numbering: none), -                                 math.equation(block: true, -                                               body: math.mat(rows: ((text(body: [1])), -                                                                     (text(body: [2])))), -                                               numbering: none), -                                 math.equation(block: true, -                                               body: math.mat(rows: ((text(body: [1])), -                                                                     (text(body: [2])))), -                                               numbering: none), -                                 math.equation(block: true, -                                               body: math.mat(rows: ((text(body: [1]), -                                                                      text(body: [2])), -                                                                     (text(body: [3]), -                                                                      text(body: [4])))), -                                               numbering: none), -                                 math.equation(block: true, -                                               body: math.mat(rows: ((text(body: [1]), -                                                                      text(body: [2])), -                                                                     (text(body: [3]), -                                                                      text(body: [4])))), -                                               numbering: none), -                                 math.equation(block: true, -                                               body: math.mat(rows: ((text(body: [1]), -                                                                      text(body: [2])), -                                                                     (text(body: [3]), -                                                                      text(body: [4])))), -                                               numbering: none)), -                      columns: 3, -                      gutter: 10.0pt), -                 parbreak() })
− test/out/math/matrix-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/math/matrix-alignment-00.out
@@ -1,95 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-alignment-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-alignment-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-alignment-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-00.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "vec"))-           [ BlockArg-               [ Text " a "-               , MAlignPoint-               , Text " a a a "-               , MAlignPoint-               , Text " a a"-               ]-           , BlockArg-               [ Text " a a "-               , MAlignPoint-               , Text " a a "-               , MAlignPoint-               , Text " a"-               ]-           , BlockArg-               [ Text " a a a "-               , MAlignPoint-               , Text " a "-               , MAlignPoint-               , Text " a a a"-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.vec(children: ({ text(body: [ a ]), -                                                           math.alignpoint(), -                                                           text(body: [ a a a ]), -                                                           math.alignpoint(), -                                                           text(body: [ a a]) }, -                                                         { text(body: [ a a ]), -                                                           math.alignpoint(), -                                                           text(body: [ a a ]), -                                                           math.alignpoint(), -                                                           text(body: [ a]) }, -                                                         { text(body: [ a a a ]), -                                                           math.alignpoint(), -                                                           text(body: [ a ]), -                                                           math.alignpoint(), -                                                           text(body: [ a a a]) })), -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-alignment-01.out
@@ -1,106 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-alignment-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-alignment-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-alignment-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-01.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup-                     Nothing-                     Nothing-                     [ Text " a "-                     , MAlignPoint-                     , Text " a a a "-                     , MAlignPoint-                     , Text " a a"-                     ]-                 ]-               , [ MGroup-                     Nothing-                     Nothing-                     [ Text " a a "-                     , MAlignPoint-                     , Text " a a "-                     , MAlignPoint-                     , Text " a"-                     ]-                 ]-               , [ MGroup-                     Nothing-                     Nothing-                     [ Text " a a a "-                     , MAlignPoint-                     , Text " a "-                     , MAlignPoint-                     , Text " a a a"-                     ]-                 ]-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ text(body: [ a ]), -                                                        math.alignpoint(), -                                                        text(body: [ a a a ]), -                                                        math.alignpoint(), -                                                        text(body: [ a a]) }), -                                                     ({ text(body: [ a a ]), -                                                        math.alignpoint(), -                                                        text(body: [ a a ]), -                                                        math.alignpoint(), -                                                        text(body: [ a]) }), -                                                     ({ text(body: [ a a a ]), -                                                        math.alignpoint(), -                                                        text(body: [ a ]), -                                                        math.alignpoint(), -                                                        text(body: [ a a a]) }))), -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-alignment-02.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-alignment-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-alignment-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-alignment-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-02.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ Text " a" , Text " a a a" , Text " a a" ]-               , [ Text " a a" , Text " a a" , Text " a" ]-               , [ Text " a a a" , Text " a" , Text " a a a" ]-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: ((text(body: [ a]), -                                                      text(body: [ a a a]), -                                                      text(body: [ a a])), -                                                     (text(body: [ a a]), -                                                      text(body: [ a a]), -                                                      text(body: [ a])), -                                                     (text(body: [ a a a]), -                                                      text(body: [ a]), -                                                      text(body: [ a a a])))), -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-alignment-03.out
@@ -1,91 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-alignment-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-alignment-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-alignment-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-03.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup Nothing Nothing [ MAlignPoint , Text "a" ]-                 , MGroup Nothing Nothing [ MAlignPoint , Text "a a a" ]-                 , MGroup Nothing Nothing [ MAlignPoint , Text "a a" ]-                 ]-               , [ MGroup Nothing Nothing [ MAlignPoint , Text "a a" ]-                 , MGroup Nothing Nothing [ MAlignPoint , Text "a a" ]-                 , MGroup Nothing Nothing [ MAlignPoint , Text "a" ]-                 ]-               , [ MGroup Nothing Nothing [ MAlignPoint , Text "a a a" ]-                 , MGroup Nothing Nothing [ MAlignPoint , Text "a" ]-                 , MGroup Nothing Nothing [ MAlignPoint , Text "a a a" ]-                 ]-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ math.alignpoint(), -                                                        text(body: [a]) }, -                                                      { math.alignpoint(), -                                                        text(body: [a a a]) }, -                                                      { math.alignpoint(), -                                                        text(body: [a a]) }), -                                                     ({ math.alignpoint(), -                                                        text(body: [a a]) }, -                                                      { math.alignpoint(), -                                                        text(body: [a a]) }, -                                                      { math.alignpoint(), -                                                        text(body: [a]) }), -                                                     ({ math.alignpoint(), -                                                        text(body: [a a a]) }, -                                                      { math.alignpoint(), -                                                        text(body: [a]) }, -                                                      { math.alignpoint(), -                                                        text(body: [a a a]) }))), -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-alignment-04.out
@@ -1,91 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-alignment-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-alignment-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-alignment-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-04.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup Nothing Nothing [ Text " a" , MAlignPoint ]-                 , MGroup Nothing Nothing [ Text " a a a" , MAlignPoint ]-                 , MGroup Nothing Nothing [ Text " a a" , MAlignPoint ]-                 ]-               , [ MGroup Nothing Nothing [ Text " a a" , MAlignPoint ]-                 , MGroup Nothing Nothing [ Text " a a" , MAlignPoint ]-                 , MGroup Nothing Nothing [ Text " a" , MAlignPoint ]-                 ]-               , [ MGroup Nothing Nothing [ Text " a a a" , MAlignPoint ]-                 , MGroup Nothing Nothing [ Text " a" , MAlignPoint ]-                 , MGroup Nothing Nothing [ Text " a a a" , MAlignPoint ]-                 ]-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ text(body: [ a]), -                                                        math.alignpoint() }, -                                                      { text(body: [ a a a]), -                                                        math.alignpoint() }, -                                                      { text(body: [ a a]), -                                                        math.alignpoint() }), -                                                     ({ text(body: [ a a]), -                                                        math.alignpoint() }, -                                                      { text(body: [ a a]), -                                                        math.alignpoint() }, -                                                      { text(body: [ a]), -                                                        math.alignpoint() }), -                                                     ({ text(body: [ a a a]), -                                                        math.alignpoint() }, -                                                      { text(body: [ a]), -                                                        math.alignpoint() }, -                                                      { text(body: [ a a a]), -                                                        math.alignpoint() }))), -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-alignment-05.out
@@ -1,223 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-alignment-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-alignment-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-alignment-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-05.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup-                     Nothing Nothing [ MAlignPoint , Text "a" , Text "+" , Text "b" ]-                 , Text "c"-                 ]-               , [ MGroup Nothing Nothing [ MAlignPoint , Text "d" ] , Text "e" ]-               ]-           ])-    ]-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-05.typ"-        ( line 4 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup-                     Nothing-                     Nothing-                     [ MAlignPoint , Text "a" , Text "+" , Text "b" , MAlignPoint ]-                 , Text "c"-                 ]-               , [ MGroup Nothing Nothing [ MAlignPoint , Text "d" , MAlignPoint ]-                 , Text "e"-                 ]-               ]-           ])-    ]-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-05.typ"-        ( line 5 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup-                     Nothing-                     Nothing-                     [ MAlignPoint-                     , MAlignPoint-                     , MAlignPoint-                     , Text "a"-                     , Text "+"-                     , Text "b"-                     ]-                 , Text "c"-                 ]-               , [ MGroup-                     Nothing-                     Nothing-                     [ MAlignPoint , MAlignPoint , MAlignPoint , Text "d" ]-                 , Text "e"-                 ]-               ]-           ])-    ]-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-05.typ"-        ( line 6 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup-                     Nothing-                     Nothing-                     [ Text "."-                     , MAlignPoint-                     , Text "a"-                     , Text "+"-                     , Text "b"-                     , MAlignPoint-                     , Text "."-                     ]-                 , Text "c"-                 ]-               , [ MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-05.typ"-                         ( line 6 , column 17 )-                         (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))-                     , Text "."-                     , Text "."-                     , MAlignPoint-                     , Text "d"-                     , MAlignPoint-                     , Code-                         "test/typ/math/matrix-alignment-05.typ"-                         ( line 6 , column 25 )-                         (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))-                     , Text "."-                     , Text "."-                     ]-                 , Text "e"-                 ]-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ math.alignpoint(), -                                                        text(body: [a]), -                                                        text(body: [+]), -                                                        text(body: [b]) }, -                                                      text(body: [c])), -                                                     ({ math.alignpoint(), -                                                        text(body: [d]) }, -                                                      text(body: [e])))), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ math.alignpoint(), -                                                        text(body: [a]), -                                                        text(body: [+]), -                                                        text(body: [b]), -                                                        math.alignpoint() }, -                                                      text(body: [c])), -                                                     ({ math.alignpoint(), -                                                        text(body: [d]), -                                                        math.alignpoint() }, -                                                      text(body: [e])))), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ math.alignpoint(), -                                                        math.alignpoint(), -                                                        math.alignpoint(), -                                                        text(body: [a]), -                                                        text(body: [+]), -                                                        text(body: [b]) }, -                                                      text(body: [c])), -                                                     ({ math.alignpoint(), -                                                        math.alignpoint(), -                                                        math.alignpoint(), -                                                        text(body: [d]) }, -                                                      text(body: [e])))), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ text(body: [.]), -                                                        math.alignpoint(), -                                                        text(body: [a]), -                                                        text(body: [+]), -                                                        text(body: [b]), -                                                        math.alignpoint(), -                                                        text(body: [.]) }, -                                                      text(body: [c])), -                                                     ({ text(body: […]), -                                                        text(body: [.]), -                                                        text(body: [.]), -                                                        math.alignpoint(), -                                                        text(body: [d]), -                                                        math.alignpoint(), -                                                        text(body: […]), -                                                        text(body: [.]), -                                                        text(body: [.]) }, -                                                      text(body: [e])))), -                               numbering: none), -                 parbreak() })
− test/out/math/matrix-alignment-06.out
@@ -1,321 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/matrix-alignment-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/matrix-alignment-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/matrix-alignment-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-06.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 3 , column 7 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     ]-                 , Text "1"-                 , Text "1"-                 ]-               , [ Text "1"-                 , MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 3 , column 20 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     ]-                 , Text "1"-                 ]-               , [ Text "1"-                 , Text "1"-                 , MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 3 , column 33 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     ]-                 ]-               ]-           ])-    ]-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-06.typ"-        ( line 4 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 4 , column 7 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     , MAlignPoint-                     ]-                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]-                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]-                 ]-               , [ MGroup Nothing Nothing [ Text "1" , MAlignPoint ]-                 , MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 4 , column 24 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     , MAlignPoint-                     ]-                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]-                 ]-               , [ MGroup Nothing Nothing [ Text "1" , MAlignPoint ]-                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]-                 , MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 4 , column 41 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     , MAlignPoint-                     ]-                 ]-               ]-           ])-    ]-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-06.typ"-        ( line 5 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 5 , column 7 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     , MAlignPoint-                     ]-                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]-                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]-                 ]-               , [ Text "1"-                 , MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 5 , column 23 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     ]-                 , Text "1"-                 ]-               , [ Text "1"-                 , Text "1"-                 , MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 5 , column 36 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     ]-                 ]-               ]-           ])-    ]-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/matrix-alignment-06.typ"-        ( line 6 , column 3 )-        (FuncCall-           (Ident (Identifier "mat"))-           [ ArrayArg-               [ [ MGroup-                     Nothing-                     Nothing-                     [ MAlignPoint-                     , Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 6 , column 8 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     ]-                 , MGroup Nothing Nothing [ MAlignPoint , Text "1" ]-                 , MGroup Nothing Nothing [ MAlignPoint , Text "1" ]-                 ]-               , [ Text "1"-                 , MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 6 , column 23 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     ]-                 , Text "1"-                 ]-               , [ Text "1"-                 , Text "1"-                 , MGroup-                     Nothing-                     Nothing-                     [ Code-                         "test/typ/math/matrix-alignment-06.typ"-                         ( line 6 , column 36 )-                         (Ident (Identifier "minus"))-                     , Text "1"-                     ]-                 ]-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ text(body: [−]), -                                                        text(body: [1]) }, -                                                      text(body: [1]), -                                                      text(body: [1])), -                                                     (text(body: [1]), -                                                      { text(body: [−]), -                                                        text(body: [1]) }, -                                                      text(body: [1])), -                                                     (text(body: [1]), -                                                      text(body: [1]), -                                                      { text(body: [−]), -                                                        text(body: [1]) }))), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ text(body: [−]), -                                                        text(body: [1]), -                                                        math.alignpoint() }, -                                                      { text(body: [1]), -                                                        math.alignpoint() }, -                                                      { text(body: [1]), -                                                        math.alignpoint() }), -                                                     ({ text(body: [1]), -                                                        math.alignpoint() }, -                                                      { text(body: [−]), -                                                        text(body: [1]), -                                                        math.alignpoint() }, -                                                      { text(body: [1]), -                                                        math.alignpoint() }), -                                                     ({ text(body: [1]), -                                                        math.alignpoint() }, -                                                      { text(body: [1]), -                                                        math.alignpoint() }, -                                                      { text(body: [−]), -                                                        text(body: [1]), -                                                        math.alignpoint() }))), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ text(body: [−]), -                                                        text(body: [1]), -                                                        math.alignpoint() }, -                                                      { text(body: [1]), -                                                        math.alignpoint() }, -                                                      { text(body: [1]), -                                                        math.alignpoint() }), -                                                     (text(body: [1]), -                                                      { text(body: [−]), -                                                        text(body: [1]) }, -                                                      text(body: [1])), -                                                     (text(body: [1]), -                                                      text(body: [1]), -                                                      { text(body: [−]), -                                                        text(body: [1]) }))), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.mat(rows: (({ math.alignpoint(), -                                                        text(body: [−]), -                                                        text(body: [1]) }, -                                                      { math.alignpoint(), -                                                        text(body: [1]) }, -                                                      { math.alignpoint(), -                                                        text(body: [1]) }), -                                                     (text(body: [1]), -                                                      { text(body: [−]), -                                                        text(body: [1]) }, -                                                      text(body: [1])), -                                                     (text(body: [1]), -                                                      text(body: [1]), -                                                      { text(body: [−]), -                                                        text(body: [1]) }))), -                               numbering: none), -                 parbreak() })
− test/out/math/multiline-00.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/multiline-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/multiline-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/multiline-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "x"-    , MAlignPoint-    , Text "="-    , Text "x"-    , Text "+"-    , Text "y"-    , HardBreak-    , MAlignPoint-    , Text "="-    , Text "x"-    , Text "+"-    , Text "2"-    , Text "z"-    , HardBreak-    , MAlignPoint-    , Text "="-    , Code-        "test/typ/math/multiline-00.typ"-        ( line 5 , column 8 )-        (Ident (Identifier "sum"))-    , Text "x"-    , Code-        "test/typ/math/multiline-00.typ"-        ( line 5 , column 14 )-        (Ident (Identifier "dot"))-    , Text "2"-    , Text "z"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [x]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [x]), -                                       text(body: [+]), -                                       text(body: [y]), -                                       linebreak(), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [x]), -                                       text(body: [+]), -                                       text(body: [2]), -                                       text(body: [z]), -                                       linebreak(), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [∑]), -                                       text(body: [x]), -                                       text(body: [⋅]), -                                       text(body: [2]), -                                       text(body: [z]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/multiline-01.out
@@ -1,112 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/multiline-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/multiline-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/multiline-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "x"-    , Text "+"-    , Text "1"-    , MAlignPoint-    , Text "="-    , MAttach Nothing (Just (Text "2")) (Text "a")-    , Text "+"-    , MAttach Nothing (Just (Text "2")) (Text "b")-    , HardBreak-    , Text "y"-    , MAlignPoint-    , Text "="-    , Text "a"-    , Text "+"-    , MAttach Nothing (Just (Text "2")) (Text "b")-    , HardBreak-    , Text "z"-    , MAlignPoint-    , Text "="-    , Code-        "test/typ/math/multiline-01.typ"-        ( line 5 , column 12 )-        (Ident (Identifier "alpha"))-    , Code-        "test/typ/math/multiline-01.typ"-        ( line 5 , column 18 )-        (Ident (Identifier "dot"))-    , Code-        "test/typ/math/multiline-01.typ"-        ( line 5 , column 22 )-        (Ident (Identifier "beta"))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [x]), -                                       text(body: [+]), -                                       text(body: [1]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       math.attach(b: none, -                                                   base: text(body: [a]), -                                                   t: text(body: [2])), -                                       text(body: [+]), -                                       math.attach(b: none, -                                                   base: text(body: [b]), -                                                   t: text(body: [2])), -                                       linebreak(), -                                       text(body: [y]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [a]), -                                       text(body: [+]), -                                       math.attach(b: none, -                                                   base: text(body: [b]), -                                                   t: text(body: [2])), -                                       linebreak(), -                                       text(body: [z]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [α]), -                                       text(body: [⋅]), -                                       text(body: [β]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/multiline-02.out
@@ -1,91 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/multiline-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/multiline-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/multiline-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "a"-    , Text "+"-    , Text "b"-    , MAlignPoint-    , Text "="-    , Text "2"-    , Text "+"-    , Text "3"-    , MAlignPoint-    , Text "="-    , Text "5"-    , HardBreak-    , Text "b"-    , MAlignPoint-    , Text "="-    , Text "c"-    , MAlignPoint-    , Text "="-    , Text "3"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [a]), -                                       text(body: [+]), -                                       text(body: [b]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [2]), -                                       text(body: [+]), -                                       text(body: [3]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [5]), -                                       linebreak(), -                                       text(body: [b]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [c]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [3]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/multiline-03.out
@@ -1,90 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/multiline-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/multiline-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/multiline-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "f"-    , Code-        "test/typ/math/multiline-03.typ"-        ( line 3 , column 5 )-        (FieldAccess-           (Ident (Identifier "eq")) (Ident (Identifier "colon")))-    , Code-        "test/typ/math/multiline-03.typ"-        ( line 3 , column 8 )-        (FuncCall-           (Ident (Identifier "cases"))-           [ BlockArg-               [ Text "1"-               , Text "+"-               , Text "2"-               , MAlignPoint-               , Text "iff "-               , MAlignPoint-               , Text "x"-               ]-           , BlockArg-               [ Text "3" , MAlignPoint , Text "if " , MAlignPoint , Text "y" ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [f]), -                                       text(body: [≔]), -                                       math.cases(children: ({ text(body: [1]), -                                                               text(body: [+]), -                                                               text(body: [2]), -                                                               math.alignpoint(), -                                                               text(body: [iff ]), -                                                               math.alignpoint(), -                                                               text(body: [x]) }, -                                                             { text(body: [3]), -                                                               math.alignpoint(), -                                                               text(body: [if ]), -                                                               math.alignpoint(), -                                                               text(body: [y]) })) }, -                               numbering: none), -                 parbreak() })
− test/out/math/multiline-04.out
@@ -1,79 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/multiline-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/multiline-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/multiline-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text " abc "-    , MAlignPoint-    , Text "="-    , Text "c"-    , HardBreak-    , MAlignPoint-    , Text "="-    , Text "d"-    , Text "+"-    , Text "1"-    , HardBreak-    , Text "="-    , Text "x"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [ abc ]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [c]), -                                       linebreak(), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [d]), -                                       text(body: [+]), -                                       text(body: [1]), -                                       linebreak(), -                                       text(body: [=]), -                                       text(body: [x]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/multiline-05.out
@@ -1,112 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/multiline-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/multiline-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/multiline-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "n"-              , Code-                  "test/typ/math/multiline-05.typ"-                  ( line 3 , column 10 )-                  (Ident (Identifier "in"))-              , Code-                  "test/typ/math/multiline-05.typ"-                  ( line 3 , column 13 )-                  (Ident (Identifier "NN"))-              , HardBreak-              , Text "n"-              , Code-                  "test/typ/math/multiline-05.typ"-                  ( line 3 , column 20 )-                  (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))-              , Text "5"-              ]))-        Nothing-        (Code-           "test/typ/math/multiline-05.typ"-           ( line 3 , column 3 )-           (Ident (Identifier "sum")))-    , Text "n"-    , Text "="-    , MFrac-        (MGroup-           (Just "(")-           (Just ")")-           [ Text "5"-           , MGroup (Just "(") (Just ")") [ Text "5" , Text "+" , Text "1" ]-           ])-        (Text "2")-    , Text "="-    , Text "15"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: { text(body: [n]), -                                                        text(body: [∈]), -                                                        text(body: [ℕ]), -                                                        linebreak(), -                                                        text(body: [n]), -                                                        text(body: [≤]), -                                                        text(body: [5]) }, -                                                   base: text(body: [∑]), -                                                   t: none), -                                       text(body: [n]), -                                       text(body: [=]), -                                       math.frac(denom: text(body: [2]), -                                                 num: { text(body: [5]), -                                                        math.lr(body: ({ [(], -                                                                         text(body: [5]), -                                                                         text(body: [+]), -                                                                         text(body: [1]), -                                                                         [)] })) }), -                                       text(body: [=]), -                                       text(body: [15]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/multiline-06.out
@@ -1,67 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/multiline-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/multiline-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/multiline-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True [ Text " abc " , MAlignPoint , Text "=" , Text "c" ]-, SoftBreak-, Text "No"-, Space-, Text "trailing"-, Space-, Text "line"-, Space-, Text "break"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [ abc ]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [c]) }, -                               numbering: none), -                 text(body: [-No trailing line break.]), -                 parbreak() })
− test/out/math/multiline-07.out
@@ -1,69 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/multiline-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/multiline-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/multiline-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text " abc " , MAlignPoint , Text "=" , Text "c" , HardBreak ]-, SoftBreak-, Text "One"-, Space-, Text "trailing"-, Space-, Text "line"-, Space-, Text "break"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [ abc ]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [c]), -                                       linebreak() }, -                               numbering: none), -                 text(body: [-One trailing line break.]), -                 parbreak() })
− test/out/math/multiline-08.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/multiline-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/multiline-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/multiline-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text " abc "-    , MAlignPoint-    , Text "="-    , Text "c"-    , HardBreak-    , HardBreak-    , HardBreak-    ]-, SoftBreak-, Text "Multiple"-, Space-, Text "trailing"-, Space-, Text "line"-, Space-, Text "breaks"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [ abc ]), -                                       math.alignpoint(), -                                       text(body: [=]), -                                       text(body: [c]), -                                       linebreak(), -                                       linebreak(), -                                       linebreak() }, -                               numbering: none), -                 text(body: [-Multiple trailing line breaks.]), -                 parbreak() })
− test/out/math/numbering-00.out
@@ -1,189 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/numbering-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/numbering-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/numbering-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/math/numbering-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 150.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/math/numbering-00.typ"-    ( line 3 , column 2 )-    (Set-       (FieldAccess-          (Ident (Identifier "equation")) (Ident (Identifier "math")))-       [ KeyValArg (Identifier "numbering") (Literal (String "(I)")) ])-, ParBreak-, Text "We"-, Space-, Text "define"-, Space-, Equation False [ Text "x" ]-, Space-, Text "in"-, Space-, Text "preparation"-, Space-, Text "of"-, Space-, Ref "fib" (Literal Auto)-, Text ":"-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/numbering-00.typ"-        ( line 6 , column 3 )-        (FieldAccess (Ident (Identifier "alt")) (Ident (Identifier "phi")))-    , Code-        "test/typ/math/numbering-00.typ"-        ( line 6 , column 11 )-        (FieldAccess-           (Ident (Identifier "eq")) (Ident (Identifier "colon")))-    , MFrac-        (MGroup-           (Just "(")-           (Just ")")-           [ Text "1"-           , Text "+"-           , Code-               "test/typ/math/numbering-00.typ"-               ( line 6 , column 19 )-               (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "5" ] ])-           ])-        (Text "2")-    ]-, Space-, Code-    "test/typ/math/numbering-00.typ"-    ( line 6 , column 34 )-    (Label "ratio")-, ParBreak-, Text "With"-, Space-, Ref "ratio" (Literal Auto)-, Text ","-, Space-, Text "we"-, Space-, Text "get"-, SoftBreak-, Equation-    True-    [ MAttach (Just (Text "n")) Nothing (Text "F")-    , Text "="-    , Code-        "test/typ/math/numbering-00.typ"-        ( line 9 , column 9 )-        (FuncCall-           (Ident (Identifier "round"))-           [ BlockArg-               [ MFrac-                   (Text "1")-                   (Code-                      "test/typ/math/numbering-00.typ"-                      ( line 9 , column 19 )-                      (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "5" ] ]))-               , MAttach-                   Nothing-                   (Just (Text "n"))-                   (Code-                      "test/typ/math/numbering-00.typ"-                      ( line 9 , column 27 )-                      (FieldAccess-                         (Ident (Identifier "alt")) (Ident (Identifier "phi"))))-               ]-           ])-    ]-, Space-, Code-    "test/typ/math/numbering-00.typ"-    ( line 9 , column 40 )-    (Label "fib")-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [We define ]), -                 math.equation(block: false, -                               body: text(body: [x]), -                               numbering: none), -                 text(body: [ in preparation of ]), -                 ref(supplement: auto, -                     target: <fib>), -                 text(body: [:-]), -                 math.equation(block: true, -                               body: { text(body: [ϕ]), -                                       text(body: [≔]), -                                       math.frac(denom: text(body: [2]), -                                                 num: { text(body: [1]), -                                                        text(body: [+]), -                                                        math.sqrt(radicand: text(body: [5])) }) }, -                               numbering: none), -                 text(body: [ ]), -                 <ratio>, -                 parbreak(), -                 text(body: [With ]), -                 ref(supplement: auto, -                     target: <ratio>), -                 text(body: [, we get-]), -                 math.equation(block: true, -                               body: { math.attach(b: text(body: [n]), -                                                   base: text(body: [F]), -                                                   t: none), -                                       text(body: [=]), -                                       math.round(body: { math.frac(denom: math.sqrt(radicand: text(body: [5])), -                                                                    num: text(body: [1])), -                                                          math.attach(b: none, -                                                                      base: text(body: [ϕ]), -                                                                      t: text(body: [n])) }) }, -                               numbering: none), -                 text(body: [ ]), -                 <fib>, -                 parbreak() })
− test/out/math/op-00.out
@@ -1,85 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/op-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/op-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/op-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "1"-              , Code-                  "test/typ/math/op-00.typ"-                  ( line 3 , column 9 )-                  (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))-              , Text "n"-              , Code-                  "test/typ/math/op-00.typ"-                  ( line 3 , column 12 )-                  (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))-              , Text "m"-              ]))-        Nothing-        (Code-           "test/typ/math/op-00.typ"-           ( line 3 , column 3 )-           (Ident (Identifier "max")))-    , Text "n"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: { text(body: [1]), -                                                        text(body: [≤]), -                                                        text(body: [n]), -                                                        text(body: [≤]), -                                                        text(body: [m]) }, -                                                   base: math.op(limits: true, -                                                                 text: "max"), -                                                   t: none), -                                       text(body: [n]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/op-01.out
@@ -1,110 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/op-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/op-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/op-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MAlignPoint-    , Code-        "test/typ/math/op-01.typ"-        ( line 3 , column 5 )-        (Ident (Identifier "sin"))-    , Text "x"-    , Text "+"-    , MAttach-        (Just (Text "2"))-        Nothing-        (Code-           "test/typ/math/op-01.typ"-           ( line 3 , column 13 )-           (Ident (Identifier "log")))-    , Text "x"-    , HardBreak-    , Text "="-    , MAlignPoint-    , Code-        "test/typ/math/op-01.typ"-        ( line 4 , column 5 )-        (FuncCall (Ident (Identifier "sin")) [ BlockArg [ Text "x" ] ])-    , Text "+"-    , MAttach-        (Just (Text "2"))-        Nothing-        (Code-           "test/typ/math/op-01.typ"-           ( line 4 , column 14 )-           (Ident (Identifier "log")))-    , MGroup (Just "(") (Just ")") [ Text "x" ]-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.alignpoint(), -                                       math.op(limits: false, -                                               text: "sin"), -                                       text(body: [x]), -                                       text(body: [+]), -                                       math.attach(b: text(body: [2]), -                                                   base: math.op(limits: false, -                                                                 text: "log"), -                                                   t: none), -                                       text(body: [x]), -                                       linebreak(), -                                       text(body: [=]), -                                       math.alignpoint(), -                                       math.op(limits: false, -                                               text: "sin"), -                                       text(body: [(]), -                                       text(body: [x]), -                                       text(body: [)]), -                                       text(body: [+]), -                                       math.attach(b: text(body: [2]), -                                                   base: math.op(limits: false, -                                                                 text: "log"), -                                                   t: none), -                                       math.lr(body: ({ [(], -                                                        text(body: [x]), -                                                        [)] })) }, -                               numbering: none), -                 parbreak() })
− test/out/math/op-02.out
@@ -1,153 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/op-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/op-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/op-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/op-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font") (Literal (String "New Computer Modern"))-       ])-, SoftBreak-, Text "Discuss"-, Space-, Equation-    False-    [ MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "n"-              , Code-                  "test/typ/math/op-02.typ"-                  ( line 4 , column 16 )-                  (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))-              , Code-                  "test/typ/math/op-02.typ"-                  ( line 4 , column 18 )-                  (Ident (Identifier "oo"))-              ]))-        Nothing-        (Code-           "test/typ/math/op-02.typ"-           ( line 4 , column 10 )-           (Ident (Identifier "lim")))-    , MFrac (Text "1") (Text "n")-    ]-, Space-, Text "now"-, Text "."-, SoftBreak-, Equation-    True-    [ MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "n"-              , Code-                  "test/typ/math/op-02.typ"-                  ( line 5 , column 9 )-                  (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))-              , Code-                  "test/typ/math/op-02.typ"-                  ( line 5 , column 11 )-                  (Ident (Identifier "infinity"))-              ]))-        Nothing-        (Code-           "test/typ/math/op-02.typ"-           ( line 5 , column 3 )-           (Ident (Identifier "lim")))-    , MFrac (Text "1") (Text "n")-    , Text "="-    , Text "0"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Discuss ], -                      font: "New Computer Modern"), -                 math.equation(block: false, -                               body: { math.attach(b: { text(body: [n], -                                                             font: "New Computer Modern"), -                                                        text(body: [→], -                                                             font: "New Computer Modern"), -                                                        text(body: [∞], -                                                             font: "New Computer Modern") }, -                                                   base: math.op(limits: true, -                                                                 text: "lim"), -                                                   t: none), -                                       math.frac(denom: text(body: [n], -                                                             font: "New Computer Modern"), -                                                 num: text(body: [1], -                                                           font: "New Computer Modern")) }, -                               numbering: none), -                 text(body: [ now.-], -                      font: "New Computer Modern"), -                 math.equation(block: true, -                               body: { math.attach(b: { text(body: [n], -                                                             font: "New Computer Modern"), -                                                        text(body: [→], -                                                             font: "New Computer Modern"), -                                                        text(body: [∞], -                                                             font: "New Computer Modern") }, -                                                   base: math.op(limits: true, -                                                                 text: "lim"), -                                                   t: none), -                                       math.frac(denom: text(body: [n], -                                                             font: "New Computer Modern"), -                                                 num: text(body: [1], -                                                           font: "New Computer Modern")), -                                       text(body: [=], -                                            font: "New Computer Modern"), -                                       text(body: [0], -                                            font: "New Computer Modern") }, -                               numbering: none), -                 parbreak() })
− test/out/math/op-03.out
@@ -1,115 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/op-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/op-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/op-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "x"-              , Code-                  "test/typ/math/op-03.typ"-                  ( line 3 , column 32 )-                  (FieldAccess-                     (Ident (Identifier "eq")) (Ident (Identifier "colon")))-              , Text "1"-              ]))-        Nothing-        (Code-           "test/typ/math/op-03.typ"-           ( line 3 , column 3 )-           (FuncCall-              (Ident (Identifier "op"))-              [ BlockArg [ Text "myop" ]-              , KeyValArg (Identifier "limits") (Literal (Boolean False))-              ]))-    , Text "x"-    , HardBreak-    , MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "x"-              , Code-                  "test/typ/math/op-03.typ"-                  ( line 4 , column 31 )-                  (FieldAccess-                     (Ident (Identifier "eq")) (Ident (Identifier "colon")))-              , Text "1"-              ]))-        Nothing-        (Code-           "test/typ/math/op-03.typ"-           ( line 4 , column 3 )-           (FuncCall-              (Ident (Identifier "op"))-              [ BlockArg [ Text "myop" ]-              , KeyValArg (Identifier "limits") (Literal (Boolean True))-              ]))-    , Text "x"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: { text(body: [x]), -                                                        text(body: [≔]), -                                                        text(body: [1]) }, -                                                   base: math.op(limits: false, -                                                                 text: text(body: [myop])), -                                                   t: none), -                                       text(body: [x]), -                                       linebreak(), -                                       math.attach(b: { text(body: [x]), -                                                        text(body: [≔]), -                                                        text(body: [1]) }, -                                                   base: math.op(limits: true, -                                                                 text: text(body: [myop])), -                                                   t: none), -                                       text(body: [x]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/op-04.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/op-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/op-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/op-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MAttach-        (Just (Text "x"))-        Nothing-        (Code-           "test/typ/math/op-04.typ"-           ( line 3 , column 3 )-           (FuncCall-              (Ident (Identifier "bold"))-              [ BlockArg-                  [ Code-                      "test/typ/math/op-04.typ"-                      ( line 3 , column 8 )-                      (FuncCall-                         (Ident (Identifier "op"))-                         [ BlockArg [ Text "bold" ]-                         , KeyValArg (Identifier "limits") (Literal (Boolean True))-                         ])-                  ]-              ]))-    , Text "y"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: text(body: [x]), -                                                   base: math.bold(body: math.op(limits: true, -                                                                                 text: text(body: [bold]))), -                                                   t: none), -                                       text(body: [y]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/root-00.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/root-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/root-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/root-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "A"-    , Text "="-    , Code-        "test/typ/math/root-00.typ"-        ( line 3 , column 6 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg [ Text "x" , Text "+" , Text "y" ] ])-    , Text "="-    , Text "c"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [A]), -                                       text(body: [=]), -                                       math.sqrt(radicand: { text(body: [x]), -                                                             text(body: [+]), -                                                             text(body: [y]) }), -                                       text(body: [=]), -                                       text(body: [c]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/root-01.out
@@ -1,149 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/root-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/root-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/root-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/root-01.typ"-        ( line 3 , column 3 )-        (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "a" ] ])-    , Code-        "test/typ/math/root-01.typ"-        ( line 3 , column 11 )-        (Ident (Identifier "quad"))-    , Code-        "test/typ/math/root-01.typ"-        ( line 4 , column 3 )-        (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "f" ] ])-    , Code-        "test/typ/math/root-01.typ"-        ( line 4 , column 11 )-        (Ident (Identifier "quad"))-    , Code-        "test/typ/math/root-01.typ"-        ( line 5 , column 3 )-        (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "q" ] ])-    , Code-        "test/typ/math/root-01.typ"-        ( line 5 , column 11 )-        (Ident (Identifier "quad"))-    , Code-        "test/typ/math/root-01.typ"-        ( line 6 , column 3 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg [ MAttach Nothing (Just (Text "2")) (Text "a") ] ])-    , HardBreak-    , Code-        "test/typ/math/root-01.typ"-        ( line 7 , column 3 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg [ MAttach (Just (Text "0")) Nothing (Text "n") ] ])-    , Code-        "test/typ/math/root-01.typ"-        ( line 7 , column 13 )-        (Ident (Identifier "quad"))-    , Code-        "test/typ/math/root-01.typ"-        ( line 8 , column 3 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg-               [ MAttach Nothing (Just (MGroup Nothing Nothing [])) (Text "b") ]-           ])-    , Code-        "test/typ/math/root-01.typ"-        ( line 8 , column 14 )-        (Ident (Identifier "quad"))-    , Code-        "test/typ/math/root-01.typ"-        ( line 9 , column 3 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg [ MAttach Nothing (Just (Text "2")) (Text "b") ] ])-    , Code-        "test/typ/math/root-01.typ"-        ( line 9 , column 13 )-        (Ident (Identifier "quad"))-    , Code-        "test/typ/math/root-01.typ"-        ( line 10 , column 3 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg-               [ MAttach (Just (Text "1")) (Just (Text "2")) (Text "q") ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.sqrt(radicand: text(body: [a])), -                                       text(body: [ ]), -                                       math.sqrt(radicand: text(body: [f])), -                                       text(body: [ ]), -                                       math.sqrt(radicand: text(body: [q])), -                                       text(body: [ ]), -                                       math.sqrt(radicand: math.attach(b: none, -                                                                       base: text(body: [a]), -                                                                       t: text(body: [2]))), -                                       linebreak(), -                                       math.sqrt(radicand: math.attach(b: text(body: [0]), -                                                                       base: text(body: [n]), -                                                                       t: none)), -                                       text(body: [ ]), -                                       math.sqrt(radicand: math.attach(b: none, -                                                                       base: text(body: [b]), -                                                                       t: {  })), -                                       text(body: [ ]), -                                       math.sqrt(radicand: math.attach(b: none, -                                                                       base: text(body: [b]), -                                                                       t: text(body: [2]))), -                                       text(body: [ ]), -                                       math.sqrt(radicand: math.attach(b: text(body: [1]), -                                                                       base: text(body: [q]), -                                                                       t: text(body: [2]))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/root-02.out
@@ -1,123 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/root-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/root-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/root-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Equation-    False-    [ Code-        "test/typ/math/root-02.typ"-        ( line 4 , column 2 )-        (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "x" ] ])-    ]-, SoftBreak-, Equation-    False-    [ Code-        "test/typ/math/root-02.typ"-        ( line 5 , column 2 )-        (FuncCall-           (Ident (Identifier "root"))-           [ BlockArg [ Text "2" ] , BlockArg [ Text "x" ] ])-    ]-, SoftBreak-, Equation-    False-    [ Code-        "test/typ/math/root-02.typ"-        ( line 6 , column 2 )-        (FuncCall-           (Ident (Identifier "root"))-           [ BlockArg [ Text "3" ] , BlockArg [ Text "x" ] ])-    ]-, SoftBreak-, Equation-    False-    [ Code-        "test/typ/math/root-02.typ"-        ( line 7 , column 2 )-        (FuncCall-           (Ident (Identifier "root"))-           [ BlockArg [ Text "4" ] , BlockArg [ Text "x" ] ])-    ]-, SoftBreak-, Equation-    False-    [ Code-        "test/typ/math/root-02.typ"-        ( line 8 , column 2 )-        (FuncCall-           (Ident (Identifier "root"))-           [ BlockArg [ Text "5" ] , BlockArg [ Text "x" ] ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: math.sqrt(radicand: text(body: [x])), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: false, -                               body: math.root(index: text(body: [2]), -                                               radicand: text(body: [x])), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: false, -                               body: math.root(index: text(body: [3]), -                                               radicand: text(body: [x])), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: false, -                               body: math.root(index: text(body: [4]), -                                               radicand: text(body: [x])), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: false, -                               body: math.root(index: text(body: [5]), -                                               radicand: text(body: [x])), -                               numbering: none), -                 parbreak() })
− test/out/math/root-03.out
@@ -1,216 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/root-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/root-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/root-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/root-03.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg-               [ Code-                   "test/typ/math/root-03.typ"-                   ( line 3 , column 8 )-                   (FieldAccess-                      (Ident (Identifier "l"))-                      (FieldAccess-                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-               , Text "x"-               , MAttach-                   Nothing-                   (Just (Text "2"))-                   (Code-                      "test/typ/math/root-03.typ"-                      ( line 3 , column 11 )-                      (FieldAccess-                         (Ident (Identifier "r"))-                         (FieldAccess-                            (Ident (Identifier "double")) (Ident (Identifier "bracket")))))-               , Text "+"-               , Code-                   "test/typ/math/root-03.typ"-                   ( line 3 , column 18 )-                   (FieldAccess-                      (Ident (Identifier "l"))-                      (FieldAccess-                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-               , Text "y"-               , MAttach-                   Nothing-                   (Just (Text "2"))-                   (Code-                      "test/typ/math/root-03.typ"-                      ( line 3 , column 21 )-                      (FieldAccess-                         (Ident (Identifier "r"))-                         (FieldAccess-                            (Ident (Identifier "double")) (Ident (Identifier "bracket")))))-               ]-           ])-    , Text "<"-    , Code-        "test/typ/math/root-03.typ"-        ( line 3 , column 29 )-        (FieldAccess-           (Ident (Identifier "l"))-           (FieldAccess-              (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-    , Text "z"-    , Code-        "test/typ/math/root-03.typ"-        ( line 3 , column 32 )-        (FieldAccess-           (Ident (Identifier "r"))-           (FieldAccess-              (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-    ]-, SoftBreak-, Equation-    True-    [ Text "v"-    , Text "="-    , Code-        "test/typ/math/root-03.typ"-        ( line 4 , column 7 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg-               [ MFrac-                   (MGroup (Just "(") (Just ")") [ MFrac (Text "1") (Text "2") ])-                   (MGroup Nothing Nothing [ MFrac (Text "4") (Text "5") ])-               ]-           ])-    , Text "="-    , Code-        "test/typ/math/root-03.typ"-        ( line 5 , column 6 )-        (FuncCall-           (Ident (Identifier "root"))-           [ BlockArg [ Text "3" ]-           , BlockArg-               [ MFrac-                   (MGroup-                      (Just "(")-                      (Just ")")-                      [ MFrac (MFrac (Text "1") (Text "2")) (Text "3") ])-                   (MGroup-                      Nothing Nothing [ MFrac (MFrac (Text "4") (Text "5")) (Text "6") ])-               ]-           ])-    , Text "="-    , Code-        "test/typ/math/root-03.typ"-        ( line 6 , column 6 )-        (FuncCall-           (Ident (Identifier "root"))-           [ BlockArg [ Text "4" ]-           , BlockArg-               [ MFrac-                   (MGroup-                      (Just "(")-                      (Just ")")-                      [ MFrac-                          (MGroup (Just "(") (Just ")") [ MFrac (Text "1") (Text "2") ])-                          (MGroup Nothing Nothing [ MFrac (Text "3") (Text "4") ])-                      ])-                   (MGroup-                      Nothing-                      Nothing-                      [ MFrac-                          (MGroup (Just "(") (Just ")") [ MFrac (Text "1") (Text "2") ])-                          (MGroup Nothing Nothing [ MFrac (Text "3") (Text "4") ])-                      ])-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.sqrt(radicand: { text(body: [⟦]), -                                                             text(body: [x]), -                                                             math.attach(b: none, -                                                                         base: text(body: [⟧]), -                                                                         t: text(body: [2])), -                                                             text(body: [+]), -                                                             text(body: [⟦]), -                                                             text(body: [y]), -                                                             math.attach(b: none, -                                                                         base: text(body: [⟧]), -                                                                         t: text(body: [2])) }), -                                       text(body: [<]), -                                       text(body: [⟦]), -                                       text(body: [z]), -                                       text(body: [⟧]) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [v]), -                                       text(body: [=]), -                                       math.sqrt(radicand: math.frac(denom: math.frac(denom: text(body: [5]), -                                                                                      num: text(body: [4])), -                                                                     num: math.frac(denom: text(body: [2]), -                                                                                    num: text(body: [1])))), -                                       text(body: [=]), -                                       math.root(index: text(body: [3]), -                                                 radicand: math.frac(denom: math.frac(denom: text(body: [6]), -                                                                                      num: math.frac(denom: text(body: [5]), -                                                                                                     num: text(body: [4]))), -                                                                     num: math.frac(denom: text(body: [3]), -                                                                                    num: math.frac(denom: text(body: [2]), -                                                                                                   num: text(body: [1]))))), -                                       text(body: [=]), -                                       math.root(index: text(body: [4]), -                                                 radicand: math.frac(denom: math.frac(denom: math.frac(denom: text(body: [4]), -                                                                                                       num: text(body: [3])), -                                                                                      num: math.frac(denom: text(body: [2]), -                                                                                                     num: text(body: [1]))), -                                                                     num: math.frac(denom: math.frac(denom: text(body: [4]), -                                                                                                     num: text(body: [3])), -                                                                                    num: math.frac(denom: text(body: [2]), -                                                                                                   num: text(body: [1]))))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/root-04.out
@@ -1,114 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/root-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/root-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/root-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/root-04.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "root"))-           [ BlockArg [ Text "2" ] , BlockArg [ Text "x" ] ])-    , Code-        "test/typ/math/root-04.typ"-        ( line 3 , column 14 )-        (Ident (Identifier "quad"))-    , Code-        "test/typ/math/root-04.typ"-        ( line 4 , column 3 )-        (FuncCall-           (Ident (Identifier "root"))-           [ BlockArg-               [ MFrac-                   (Text "3") (MGroup Nothing Nothing [ MFrac (Text "2") (Text "1") ])-               ]-           , BlockArg [ Text "x" ]-           ])-    , Code-        "test/typ/math/root-04.typ"-        ( line 4 , column 20 )-        (Ident (Identifier "quad"))-    , Code-        "test/typ/math/root-04.typ"-        ( line 5 , column 3 )-        (FuncCall-           (Ident (Identifier "root"))-           [ BlockArg [ MFrac (Text "1") (Text "11") ]-           , BlockArg [ Text "x" ]-           ])-    , Code-        "test/typ/math/root-04.typ"-        ( line 5 , column 17 )-        (Ident (Identifier "quad"))-    , Code-        "test/typ/math/root-04.typ"-        ( line 6 , column 3 )-        (FuncCall-           (Ident (Identifier "root"))-           [ BlockArg [ MFrac (MFrac (Text "1") (Text "2")) (Text "3") ]-           , BlockArg [ Text "1" ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.root(index: text(body: [2]), -                                                 radicand: text(body: [x])), -                                       text(body: [ ]), -                                       math.root(index: math.frac(denom: math.frac(denom: text(body: [1]), -                                                                                   num: text(body: [2])), -                                                                  num: text(body: [3])), -                                                 radicand: text(body: [x])), -                                       text(body: [ ]), -                                       math.root(index: math.frac(denom: text(body: [11]), -                                                                  num: text(body: [1])), -                                                 radicand: text(body: [x])), -                                       text(body: [ ]), -                                       math.root(index: math.frac(denom: text(body: [3]), -                                                                  num: math.frac(denom: text(body: [2]), -                                                                                 num: text(body: [1]))), -                                                 radicand: text(body: [1])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/root-05.out
@@ -1,153 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/root-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/root-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/root-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/root-05.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "root"))-           [ NormalArg-               (Block (Content [ MAttach Nothing (Just (Text "3")) (Text "2") ]))-           ])-    , Text "="-    , Code-        "test/typ/math/root-05.typ"-        ( line 3 , column 10 )-        (FuncCall-           (Ident (Identifier "sqrt"))-           [ BlockArg [ MAttach Nothing (Just (Text "3")) (Text "2") ] ])-    ]-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/root-05.typ"-        ( line 4 , column 3 )-        (Ident (Identifier "root"))-    , MGroup (Just "(") (Just ")") [ Text "x" , Text "+" , Text "y" ]-    , Code-        "test/typ/math/root-05.typ"-        ( line 4 , column 10 )-        (Ident (Identifier "quad"))-    , Text "\8731"-    , Text "x"-    , Code-        "test/typ/math/root-05.typ"-        ( line 4 , column 18 )-        (Ident (Identifier "quad"))-    , Text "\8732"-    , Text "x"-    ]-, SoftBreak-, Equation-    True-    [ MGroup-        (Just "(")-        (Just ")")-        [ Code-            "test/typ/math/root-05.typ"-            ( line 5 , column 4 )-            (FuncCall-               (Ident (Identifier "root"))-               [ NormalArg (Block (Content [ Text "2" ])) ])-        , Text "+"-        , Text "3"-        ]-    , Text "="-    , MGroup-        (Just "(")-        (Just ")")-        [ Code-            "test/typ/math/root-05.typ"-            ( line 5 , column 13 )-            (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "2" ] ])-        , Text "+"-        , Text "3"-        ]-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.root(index: math.attach(b: none, -                                                                    base: text(body: [2]), -                                                                    t: text(body: [3]))), -                                       text(body: [=]), -                                       math.sqrt(radicand: math.attach(b: none, -                                                                       base: text(body: [2]), -                                                                       t: text(body: [3]))) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { math.lr(body: ({ [(], -                                                        text(body: [x]), -                                                        text(body: [+]), -                                                        text(body: [y]), -                                                        [)] })), -                                       text(body: [ ]), -                                       text(body: [∛]), -                                       text(body: [x]), -                                       text(body: [ ]), -                                       text(body: [∜]), -                                       text(body: [x]) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { math.lr(body: ({ [(], -                                                        math.root(index: text(body: [2])), -                                                        text(body: [+]), -                                                        text(body: [3]), -                                                        [)] })), -                                       text(body: [=]), -                                       math.lr(body: ({ [(], -                                                        math.sqrt(radicand: text(body: [2])), -                                                        text(body: [+]), -                                                        text(body: [3]), -                                                        [)] })) }, -                               numbering: none), -                 parbreak() })
− test/out/math/spacing-00.out
@@ -1,306 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/spacing-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/spacing-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/spacing-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "\228"-    , Text ","-    , Text "+"-    , Text ","-    , Text "c"-    , Text ","-    , MGroup (Just "(") (Just ")") [ Text "," ]-    ]-, Space-, HardBreak-, Equation-    False-    [ Text "="-    , Text ")"-    , Text ","-    , MGroup (Just "(") (Just ")") [ Text "+" ]-    , Text ","-    , MGroup-        (Just "{")-        (Just "}")-        [ Code-            "test/typ/math/spacing-00.typ"-            ( line 4 , column 12 )-            (Ident (Identifier "times"))-        ]-    ]-, SoftBreak-, Equation-    False-    [ Text "\10215"-    , Text "<"-    , Text "\10214"-    , Text ","-    , Text "|"-    , Code-        "test/typ/math/spacing-00.typ"-        ( line 5 , column 8 )-        (Ident (Identifier "minus"))-    , Text "|"-    , Text ","-    , MGroup (Just "[") Nothing [ Text "=" ]-    ]-, Space-, HardBreak-, Equation-    False-    [ Text "a"-    , Text "="-    , Text "b"-    , Text ","-    , Text "a"-    , Text "="-    , Text "="-    , Text "b"-    ]-, Space-, HardBreak-, Equation-    False-    [ Code-        "test/typ/math/spacing-00.typ"-        ( line 7 , column 2 )-        (Ident (Identifier "minus"))-    , Text "a"-    , Text ","-    , Text "+"-    , Text "a"-    ]-, Space-, HardBreak-, Equation-    False-    [ Text "a"-    , Code-        "test/typ/math/spacing-00.typ"-        ( line 8 , column 4 )-        (Ident (Identifier "not"))-    , Text "b"-    ]-, Space-, HardBreak-, Equation-    False-    [ Text "a"-    , Text "+"-    , Text "b"-    , Text ","-    , Text "a"-    , Code-        "test/typ/math/spacing-00.typ"-        ( line 9 , column 8 )-        (Ident (Identifier "convolve"))-    , Text "b"-    ]-, Space-, HardBreak-, Equation-    False-    [ Code-        "test/typ/math/spacing-00.typ"-        ( line 10 , column 2 )-        (Ident (Identifier "sum"))-    , Text "x"-    , Text ","-    , Code-        "test/typ/math/spacing-00.typ"-        ( line 10 , column 9 )-        (FuncCall (Ident (Identifier "sum")) [ BlockArg [ Text "x" ] ])-    ]-, Space-, HardBreak-, Equation-    False-    [ Code-        "test/typ/math/spacing-00.typ"-        ( line 11 , column 2 )-        (Ident (Identifier "sum"))-    , Code-        "test/typ/math/spacing-00.typ"-        ( line 11 , column 6 )-        (Ident (Identifier "product"))-    , Text "x"-    ]-, Space-, HardBreak-, Equation-    False-    [ MGroup-        Nothing-        Nothing-        [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]-    , Text ","-    , Code-        "test/typ/math/spacing-00.typ"-        ( line 12 , column 8 )-        (FuncCall (Ident (Identifier "zeta")) [ BlockArg [ Text "x" ] ])-    , Text ","-    , MGroup-        Nothing-        Nothing-        [ Text " frac" , MGroup (Just "(") (Just ")") [ Text "x" ] ]-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [ä]), -                                       text(body: [,]), -                                       text(body: [+]), -                                       text(body: [,]), -                                       text(body: [c]), -                                       text(body: [,]), -                                       math.lr(body: ({ [(], -                                                        text(body: [,]), -                                                        [)] })) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [=]), -                                       text(body: [)]), -                                       text(body: [,]), -                                       math.lr(body: ({ [(], -                                                        text(body: [+]), -                                                        [)] })), -                                       text(body: [,]), -                                       math.lr(body: ({ [{], -                                                        text(body: [×]), -                                                        [}] })) }, -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [⟧]), -                                       text(body: [<]), -                                       text(body: [⟦]), -                                       text(body: [,]), -                                       text(body: [|]), -                                       text(body: [−]), -                                       text(body: [|]), -                                       text(body: [,]), -                                       text(body: [[]), -                                       text(body: [=]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [=]), -                                       text(body: [b]), -                                       text(body: [,]), -                                       text(body: [a]), -                                       text(body: [=]), -                                       text(body: [=]), -                                       text(body: [b]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [−]), -                                       text(body: [a]), -                                       text(body: [,]), -                                       text(body: [+]), -                                       text(body: [a]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [¬]), -                                       text(body: [b]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [+]), -                                       text(body: [b]), -                                       text(body: [,]), -                                       text(body: [a]), -                                       text(body: [∗]), -                                       text(body: [b]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [∑]), -                                       text(body: [x]), -                                       text(body: [,]), -                                       text(body: [∑]), -                                       text(body: [(]), -                                       text(body: [x]), -                                       text(body: [)]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [∑]), -                                       text(body: [∏]), -                                       text(body: [x]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [f]), -                                       math.lr(body: ({ [(], -                                                        text(body: [x]), -                                                        [)] })), -                                       text(body: [,]), -                                       text(body: [ζ]), -                                       text(body: [(]), -                                       text(body: [x]), -                                       text(body: [)]), -                                       text(body: [,]), -                                       text(body: [ frac]), -                                       math.lr(body: ({ [(], -                                                        text(body: [x]), -                                                        [)] })) }, -                               numbering: none), -                 parbreak() })
− test/out/math/spacing-01.out
@@ -1,123 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/spacing-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/spacing-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/spacing-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "f"-    , MGroup (Just "(") (Just ")") [ Text "x" ]-    , Text ","-    , MGroup-        Nothing-        Nothing-        [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]-    ]-, Space-, HardBreak-, Equation-    False-    [ MGroup (Just "[") (Just "]") [ Text "a" , Text "|" , Text "b" ]-    , Text ","-    , MGroup-        (Just "[")-        (Just "]")-        [ Text "a"-        , MGroup Nothing Nothing [ Nbsp , Text "|" , Nbsp ]-        , Text "b"-        ]-    ]-, Space-, HardBreak-, Equation-    False-    [ Text "a"-    , Text "is"-    , Text "b"-    , Text ","-    , Text "a"-    , Text " is "-    , Text "b"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [f]), -                                       math.lr(body: ({ [(], -                                                        text(body: [x]), -                                                        [)] })), -                                       text(body: [,]), -                                       text(body: [f]), -                                       math.lr(body: ({ [(], -                                                        text(body: [x]), -                                                        [)] })) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { math.lr(body: ({ [[], -                                                        text(body: [a]), -                                                        text(body: [|]), -                                                        text(body: [b]), -                                                        []] })), -                                       text(body: [,]), -                                       math.lr(body: ({ [[], -                                                        text(body: [a]), -                                                        text(body: [ ]), -                                                        text(body: [|]), -                                                        text(body: [ ]), -                                                        text(body: [b]), -                                                        []] })) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [is]), -                                       text(body: [b]), -                                       text(body: [,]), -                                       text(body: [a]), -                                       text(body: [ is ]), -                                       text(body: [b]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/spacing-02.out
@@ -1,159 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/spacing-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/spacing-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/spacing-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "a"-    , Code-        "test/typ/math/spacing-02.typ"-        ( line 3 , column 4 )-        (Ident (Identifier "thin"))-    , Text "b"-    , Text ","-    , Text "a"-    , Code-        "test/typ/math/spacing-02.typ"-        ( line 3 , column 14 )-        (Ident (Identifier "med"))-    , Text "b"-    , Text ","-    , Text "a"-    , Code-        "test/typ/math/spacing-02.typ"-        ( line 3 , column 23 )-        (Ident (Identifier "thick"))-    , Text "b"-    , Text ","-    , Text "a"-    , Code-        "test/typ/math/spacing-02.typ"-        ( line 3 , column 34 )-        (Ident (Identifier "quad"))-    , Text "b"-    ]-, Space-, HardBreak-, Equation-    False-    [ Text "a"-    , Text "="-    , Code-        "test/typ/math/spacing-02.typ"-        ( line 4 , column 6 )-        (Ident (Identifier "thin"))-    , Text "b"-    ]-, Space-, HardBreak-, Equation-    False-    [ Text "a"-    , Code-        "test/typ/math/spacing-02.typ"-        ( line 5 , column 4 )-        (Ident (Identifier "minus"))-    , Text "b"-    , Code-        "test/typ/math/spacing-02.typ"-        ( line 5 , column 8 )-        (Ident (Identifier "equiv"))-    , Text "c"-    , Code-        "test/typ/math/spacing-02.typ"-        ( line 5 , column 16 )-        (Ident (Identifier "quad"))-    , MGroup-        (Just "(")-        (Just ")")-        [ Code-            "test/typ/math/spacing-02.typ"-            ( line 5 , column 22 )-            (Ident (Identifier "mod"))-        , Text "2"-        ]-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [ ]), -                                       text(body: [b]), -                                       text(body: [,]), -                                       text(body: [a]), -                                       text(body: [ ]), -                                       text(body: [b]), -                                       text(body: [,]), -                                       text(body: [a]), -                                       text(body: [ ]), -                                       text(body: [b]), -                                       text(body: [,]), -                                       text(body: [a]), -                                       text(body: [ ]), -                                       text(body: [b]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [=]), -                                       text(body: [ ]), -                                       text(body: [b]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [−]), -                                       text(body: [b]), -                                       text(body: [≡]), -                                       text(body: [c]), -                                       text(body: [ ]), -                                       math.lr(body: ({ [(], -                                                        math.op(limits: false, -                                                                text: "mod"), -                                                        text(body: [2]), -                                                        [)] })) }, -                               numbering: none), -                 parbreak() })
− test/out/math/spacing-03.out
@@ -1,99 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/spacing-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/spacing-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/spacing-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/spacing-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto) ])-, SoftBreak-, Equation-    True-    [ MGroup-        (Just "{")-        (Just "}")-        [ Text "x"-        , Code-            "test/typ/math/spacing-03.typ"-            ( line 4 , column 7 )-            (Ident (Identifier "in"))-        , Code-            "test/typ/math/spacing-03.typ"-            ( line 4 , column 10 )-            (Ident (Identifier "RR"))-        , MGroup Nothing Nothing [ Nbsp , Text "|" , Nbsp ]-        , Text "x"-        , Text " is natural "-        , Code-            "test/typ/math/spacing-03.typ"-            ( line 4 , column 30 )-            (Ident (Identifier "and"))-        , Text "x"-        , Text "<"-        , Text "10"-        ]-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.lr(body: ({ [{], -                                                      text(body: [x]), -                                                      text(body: [∈]), -                                                      text(body: [ℝ]), -                                                      text(body: [ ]), -                                                      text(body: [|]), -                                                      text(body: [ ]), -                                                      text(body: [x]), -                                                      text(body: [ is natural ]), -                                                      text(body: [∧]), -                                                      text(body: [x]), -                                                      text(body: [<]), -                                                      text(body: [10]), -                                                      [}] })), -                               numbering: none), -                 parbreak() })
− test/out/math/spacing-04.out
@@ -1,442 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/spacing-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/spacing-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/spacing-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/spacing-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto) ])-, SoftBreak-, Equation-    False-    [ Text "a"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 4 , column 4 )-        (Ident (Identifier "equiv"))-    , Text "b"-    , Text "+"-    , Text "c"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 4 , column 16 )-        (Ident (Identifier "minus"))-    , Text "d"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 4 , column 20 )-        (FieldAccess-           (Ident (Identifier "r"))-           (FieldAccess-              (Ident (Identifier "double")) (Ident (Identifier "arrow"))))-    , Text "e"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 4 , column 25 )-        (Ident (Identifier "log"))-    , Text "5"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 4 , column 31 )-        (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "ln" ] ])-    , Text "6"-    ]-, Space-, HardBreak-, Equation-    False-    [ Text "a"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 5 , column 4 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 5 , column 11 )-                   (Ident (Identifier "equiv"))-               ]-           ])-    , Text "b"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 5 , column 20 )-        (FuncCall-           (Ident (Identifier "overline")) [ BlockArg [ Text "+" ] ])-    , Text "c"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 5 , column 34 )-        (FuncCall-           (Ident (Identifier "arrow"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 5 , column 40 )-                   (Ident (Identifier "minus"))-               ]-           ])-    , Text "d"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 5 , column 45 )-        (FuncCall-           (Ident (Identifier "hat"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 5 , column 49 )-                   (FieldAccess-                      (Ident (Identifier "r"))-                      (FieldAccess-                         (Ident (Identifier "double")) (Ident (Identifier "arrow"))))-               ]-           ])-    , Text "e"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 5 , column 55 )-        (FuncCall-           (Ident (Identifier "cancel"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 5 , column 62 )-                   (Ident (Identifier "log"))-               ]-           ])-    , Text "5"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 5 , column 69 )-        (FuncCall-           (Ident (Identifier "dot"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 5 , column 73 )-                   (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "ln" ] ])-               ]-           ])-    , Text "6"-    ]-, Space-, HardBreak-, Equation-    False-    [ Text "a"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 6 , column 4 )-        (FuncCall-           (Ident (Identifier "overbrace"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 6 , column 14 )-                   (Ident (Identifier "equiv"))-               ]-           ])-    , Text "b"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 6 , column 23 )-        (FuncCall-           (Ident (Identifier "underline")) [ BlockArg [ Text "+" ] ])-    , Text "c"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 6 , column 38 )-        (FuncCall-           (Ident (Identifier "grave"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 6 , column 44 )-                   (Ident (Identifier "minus"))-               ]-           ])-    , Text "d"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 6 , column 49 )-        (FuncCall-           (Ident (Identifier "underbracket"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 6 , column 62 )-                   (FieldAccess-                      (Ident (Identifier "r"))-                      (FieldAccess-                         (Ident (Identifier "double")) (Ident (Identifier "arrow"))))-               ]-           ])-    , Text "e"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 6 , column 68 )-        (FuncCall-           (Ident (Identifier "circle"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 6 , column 75 )-                   (Ident (Identifier "log"))-               ]-           ])-    , Text "5"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 6 , column 82 )-        (FuncCall-           (Ident (Identifier "caron"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 6 , column 88 )-                   (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "ln" ] ])-               ]-           ])-    , Text "6"-    ]-, Space-, HardBreak-, HardBreak-, Equation-    False-    [ Text "a"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 8 , column 4 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 8 , column 11 )-                   (Ident (Identifier "equiv"))-               ]-           , KeyValArg (Identifier "tl") (Block (Content [ Text "a" ]))-           , KeyValArg (Identifier "tr") (Block (Content [ Text "b" ]))-           ])-    , Text "b"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 8 , column 34 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 8 , column 41 )-                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "+" ] ])-               ]-           , KeyValArg (Identifier "t") (Block (Content [ Text "a" ]))-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           ])-    , Text "c"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 8 , column 66 )-        (FuncCall-           (Ident (Identifier "tilde"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 8 , column 72 )-                   (Ident (Identifier "minus"))-               ]-           ])-    , Text "d"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 8 , column 77 )-        (FuncCall-           (Ident (Identifier "breve"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 8 , column 83 )-                   (FieldAccess-                      (Ident (Identifier "r"))-                      (FieldAccess-                         (Ident (Identifier "double")) (Ident (Identifier "arrow"))))-               ]-           ])-    , Text "e"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 8 , column 89 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 8 , column 96 )-                   (FuncCall-                      (Ident (Identifier "limits"))-                      [ BlockArg-                          [ Code-                              "test/typ/math/spacing-04.typ"-                              ( line 8 , column 103 )-                              (Ident (Identifier "log"))-                          ]-                      ])-               ]-           , KeyValArg (Identifier "t") (Block (Content [ Text "a" ]))-           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))-           ])-    , Text "5"-    , Code-        "test/typ/math/spacing-04.typ"-        ( line 8 , column 123 )-        (FuncCall-           (Ident (Identifier "attach"))-           [ BlockArg-               [ Code-                   "test/typ/math/spacing-04.typ"-                   ( line 8 , column 130 )-                   (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "ln" ] ])-               ]-           , KeyValArg (Identifier "tr") (Block (Content [ Text "a" ]))-           , KeyValArg (Identifier "bl") (Block (Content [ Text "b" ]))-           ])-    , Text "6"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [≡]), -                                       text(body: [b]), -                                       text(body: [+]), -                                       text(body: [c]), -                                       text(body: [−]), -                                       text(body: [d]), -                                       text(body: [⇒]), -                                       text(body: [e]), -                                       math.op(limits: false, -                                               text: "log"), -                                       text(body: [5]), -                                       math.op(text: text(body: [ln])), -                                       text(body: [6]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       math.cancel(body: text(body: [≡])), -                                       text(body: [b]), -                                       math.overline(body: text(body: [+])), -                                       text(body: [c]), -                                       math.accent(accent: →, -                                                   base: text(body: [−])), -                                       text(body: [d]), -                                       math.accent(accent: ^, -                                                   base: text(body: [⇒])), -                                       text(body: [e]), -                                       math.cancel(body: math.op(limits: false, -                                                                 text: "log")), -                                       text(body: [5]), -                                       math.accent(accent: ⋅, -                                                   base: math.op(text: text(body: [ln]))), -                                       text(body: [6]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       math.overbrace(body: text(body: [≡])), -                                       text(body: [b]), -                                       math.underline(body: text(body: [+])), -                                       text(body: [c]), -                                       math.accent(accent: `, -                                                   base: text(body: [−])), -                                       text(body: [d]), -                                       math.underbracket(body: text(body: [⇒])), -                                       text(body: [e]), -                                       math.accent(accent: ○, -                                                   base: math.op(limits: false, -                                                                 text: "log")), -                                       text(body: [5]), -                                       math.accent(accent: ˇ, -                                                   base: math.op(text: text(body: [ln]))), -                                       text(body: [6]) }, -                               numbering: none), -                 text(body: [ ]), -                 linebreak(), -                 linebreak(), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       math.attach(base: text(body: [≡]), -                                                   tl: text(body: [a]), -                                                   tr: text(body: [b])), -                                       text(body: [b]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: text(body: [+])), -                                                   t: text(body: [a])), -                                       text(body: [c]), -                                       math.accent(accent: ∼, -                                                   base: text(body: [−])), -                                       text(body: [d]), -                                       math.accent(accent: ˘, -                                                   base: text(body: [⇒])), -                                       text(body: [e]), -                                       math.attach(b: text(body: [b]), -                                                   base: math.limits(body: math.op(limits: false, -                                                                                   text: "log")), -                                                   t: text(body: [a])), -                                       text(body: [5]), -                                       math.attach(base: math.op(text: text(body: [ln])), -                                                   bl: text(body: [b]), -                                                   tr: text(body: [a])), -                                       text(body: [6]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/style-00.out
@@ -1,88 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/style-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/style-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/style-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "a"-    , Text ","-    , Text "A"-    , Text ","-    , Code-        "test/typ/math/style-00.typ"-        ( line 3 , column 8 )-        (Ident (Identifier "delta"))-    , Text ","-    , Text "\1013"-    , Text ","-    , Code-        "test/typ/math/style-00.typ"-        ( line 3 , column 18 )-        (Ident (Identifier "diff"))-    , Text ","-    , Code-        "test/typ/math/style-00.typ"-        ( line 3 , column 24 )-        (Ident (Identifier "Delta"))-    , Text ","-    , Text "\1012"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [a]), -                                       text(body: [,]), -                                       text(body: [A]), -                                       text(body: [,]), -                                       text(body: [δ]), -                                       text(body: [,]), -                                       text(body: [ϵ]), -                                       text(body: [,]), -                                       text(body: [∂]), -                                       text(body: [,]), -                                       text(body: [Δ]), -                                       text(body: [,]), -                                       text(body: [ϴ]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/style-01.out
@@ -1,219 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/style-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/style-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/style-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "A"-    , Text ","-    , Code-        "test/typ/math/style-01.typ"-        ( line 3 , column 5 )-        (FuncCall (Ident (Identifier "italic")) [ BlockArg [ Text "A" ] ])-    , Text ","-    , Code-        "test/typ/math/style-01.typ"-        ( line 3 , column 16 )-        (FuncCall (Ident (Identifier "upright")) [ BlockArg [ Text "A" ] ])-    , Text ","-    , Code-        "test/typ/math/style-01.typ"-        ( line 3 , column 28 )-        (FuncCall (Ident (Identifier "bold")) [ BlockArg [ Text "A" ] ])-    , Text ","-    , Code-        "test/typ/math/style-01.typ"-        ( line 3 , column 37 )-        (FuncCall-           (Ident (Identifier "bold"))-           [ BlockArg-               [ Code-                   "test/typ/math/style-01.typ"-                   ( line 3 , column 42 )-                   (FuncCall (Ident (Identifier "upright")) [ BlockArg [ Text "A" ] ])-               ]-           ])-    , Text ","-    , HardBreak-    , Code-        "test/typ/math/style-01.typ"-        ( line 4 , column 2 )-        (FuncCall (Ident (Identifier "serif")) [ BlockArg [ Text "A" ] ])-    , Text ","-    , Code-        "test/typ/math/style-01.typ"-        ( line 4 , column 12 )-        (FuncCall (Ident (Identifier "sans")) [ BlockArg [ Text "A" ] ])-    , Text ","-    , Code-        "test/typ/math/style-01.typ"-        ( line 4 , column 21 )-        (FuncCall (Ident (Identifier "cal")) [ BlockArg [ Text "A" ] ])-    , Text ","-    , Code-        "test/typ/math/style-01.typ"-        ( line 4 , column 29 )-        (FuncCall (Ident (Identifier "frak")) [ BlockArg [ Text "A" ] ])-    , Text ","-    , Code-        "test/typ/math/style-01.typ"-        ( line 4 , column 38 )-        (FuncCall (Ident (Identifier "mono")) [ BlockArg [ Text "A" ] ])-    , Text ","-    , Code-        "test/typ/math/style-01.typ"-        ( line 4 , column 47 )-        (FuncCall (Ident (Identifier "bb")) [ BlockArg [ Text "A" ] ])-    , Text ","-    , HardBreak-    , Code-        "test/typ/math/style-01.typ"-        ( line 5 , column 2 )-        (FuncCall-           (Ident (Identifier "italic"))-           [ BlockArg-               [ Code-                   "test/typ/math/style-01.typ"-                   ( line 5 , column 9 )-                   (Ident (Identifier "diff"))-               ]-           ])-    , Text ","-    , Code-        "test/typ/math/style-01.typ"-        ( line 5 , column 16 )-        (FuncCall-           (Ident (Identifier "upright"))-           [ BlockArg-               [ Code-                   "test/typ/math/style-01.typ"-                   ( line 5 , column 24 )-                   (Ident (Identifier "diff"))-               ]-           ])-    , Text ","-    , HardBreak-    , Code-        "test/typ/math/style-01.typ"-        ( line 6 , column 2 )-        (FuncCall (Ident (Identifier "bb")) [ BlockArg [ Text "hello" ] ])-    , Text "+"-    , Code-        "test/typ/math/style-01.typ"-        ( line 6 , column 16 )-        (FuncCall-           (Ident (Identifier "bold"))-           [ BlockArg-               [ Code-                   "test/typ/math/style-01.typ"-                   ( line 6 , column 21 )-                   (FuncCall (Ident (Identifier "cal")) [ BlockArg [ Text "world" ] ])-               ]-           ])-    , Text ","-    , HardBreak-    , Code-        "test/typ/math/style-01.typ"-        ( line 7 , column 2 )-        (FuncCall-           (FuncCall (Ident (Identifier "mono")) [ BlockArg [ Text "SQRT" ] ])-           [ BlockArg [ Text "x" ] ])-    , Code-        "test/typ/math/style-01.typ"-        ( line 7 , column 18 )-        (Ident (Identifier "wreath"))-    , Code-        "test/typ/math/style-01.typ"-        ( line 7 , column 25 )-        (FuncCall-           (Ident (Identifier "mono"))-           [ BlockArg [ Text "123" , Text "+" , Text "456" ] ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [A]), -                                       text(body: [,]), -                                       math.italic(body: text(body: [A])), -                                       text(body: [,]), -                                       math.upright(body: text(body: [A])), -                                       text(body: [,]), -                                       math.bold(body: text(body: [A])), -                                       text(body: [,]), -                                       math.bold(body: math.upright(body: text(body: [A]))), -                                       text(body: [,]), -                                       linebreak(), -                                       math.serif(body: text(body: [A])), -                                       text(body: [,]), -                                       math.sans(body: text(body: [A])), -                                       text(body: [,]), -                                       math.cal(body: text(body: [A])), -                                       text(body: [,]), -                                       math.frak(body: text(body: [A])), -                                       text(body: [,]), -                                       math.mono(body: text(body: [A])), -                                       text(body: [,]), -                                       math.bb(body: text(body: [A])), -                                       text(body: [,]), -                                       linebreak(), -                                       math.italic(body: text(body: [∂])), -                                       text(body: [,]), -                                       math.upright(body: text(body: [∂])), -                                       text(body: [,]), -                                       linebreak(), -                                       math.bb(body: text(body: [hello])), -                                       text(body: [+]), -                                       math.bold(body: math.cal(body: text(body: [world]))), -                                       text(body: [,]), -                                       linebreak(), -                                       math.mono(body: text(body: [SQRT])), -                                       text(body: [(]), -                                       text(body: [x]), -                                       text(body: [)]), -                                       text(body: [≀]), -                                       math.mono(body: { text(body: [123]), -                                                         text(body: [+]), -                                                         text(body: [456]) }) }, -                               numbering: none), -                 parbreak() })
− test/out/math/style-02.out
@@ -1,129 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/style-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/style-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/style-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Text "h"-    , Text ","-    , Code-        "test/typ/math/style-02.typ"-        ( line 3 , column 5 )-        (FuncCall (Ident (Identifier "bb")) [ BlockArg [ Text "N" ] ])-    , Text ","-    , Code-        "test/typ/math/style-02.typ"-        ( line 3 , column 12 )-        (FuncCall (Ident (Identifier "cal")) [ BlockArg [ Text "R" ] ])-    , Text ","-    , Code-        "test/typ/math/style-02.typ"-        ( line 3 , column 20 )-        (Ident (Identifier "Theta"))-    , Text ","-    , Code-        "test/typ/math/style-02.typ"-        ( line 3 , column 27 )-        (FuncCall-           (Ident (Identifier "italic"))-           [ BlockArg-               [ Code-                   "test/typ/math/style-02.typ"-                   ( line 3 , column 34 )-                   (Ident (Identifier "Theta"))-               ]-           ])-    , Text ","-    , Code-        "test/typ/math/style-02.typ"-        ( line 3 , column 42 )-        (FuncCall-           (Ident (Identifier "sans"))-           [ BlockArg-               [ Code-                   "test/typ/math/style-02.typ"-                   ( line 3 , column 47 )-                   (Ident (Identifier "Theta"))-               ]-           ])-    , Text ","-    , Code-        "test/typ/math/style-02.typ"-        ( line 3 , column 55 )-        (FuncCall-           (Ident (Identifier "sans"))-           [ BlockArg-               [ Code-                   "test/typ/math/style-02.typ"-                   ( line 3 , column 60 )-                   (FuncCall-                      (Ident (Identifier "italic"))-                      [ BlockArg-                          [ Code-                              "test/typ/math/style-02.typ"-                              ( line 3 , column 67 )-                              (Ident (Identifier "Theta"))-                          ]-                      ])-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: [h]), -                                       text(body: [,]), -                                       math.bb(body: text(body: [N])), -                                       text(body: [,]), -                                       math.cal(body: text(body: [R])), -                                       text(body: [,]), -                                       text(body: [Θ]), -                                       text(body: [,]), -                                       math.italic(body: text(body: [Θ])), -                                       text(body: [,]), -                                       math.sans(body: text(body: [Θ])), -                                       text(body: [,]), -                                       math.sans(body: math.italic(body: text(body: [Θ]))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/style-03.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/style-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/style-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/style-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "\12424"-    , Code-        "test/typ/math/style-03.typ"-        ( line 3 , column 5 )-        (Ident (Identifier "and"))-    , Text "\127987"-    , Text "\65039"-    , Text "\8205"-    , Text "\127752"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [よ]), -                                       text(body: [∧]), -                                       text(body: [🏳]), -                                       text(body: [️]), -                                       text(body: [‍]), -                                       text(body: [🌈]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/style-04.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/style-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/style-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/style-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    False-    [ Code-        "test/typ/math/style-04.typ"-        ( line 3 , column 2 )-        (FuncCall-           (Ident (Identifier "text"))-           [ NormalArg (Ident (Identifier "red"))-           , BlockArg [ MAttach Nothing (Just (Text "2")) (Text " time") ]-           ])-    , Text "+"-    , Code-        "test/typ/math/style-04.typ"-        ( line 3 , column 25 )-        (FuncCall-           (Ident (Identifier "sqrt")) [ BlockArg [ Text "place" ] ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: { text(body: math.attach(b: none, -                                                              base: text(body: [ time]), -                                                              t: text(body: [2])), -                                            color: rgb(100%,25%,21%,100%)), -                                       text(body: [+]), -                                       math.sqrt(radicand: text(body: [place])) }, -                               numbering: none), -                 parbreak() })
− test/out/math/style-05.out
@@ -1,114 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/style-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/style-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/style-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/style-05.typ"-    ( line 3 , column 2 )-    (Show-       (Just-          (FieldAccess-             (Ident (Identifier "equation")) (Ident (Identifier "math"))))-       (Set-          (Ident (Identifier "text"))-          [ KeyValArg (Identifier "font") (Literal (String "Fira Math")) ]))-, SoftBreak-, Equation-    True-    [ Text "v"-    , Code-        "test/typ/math/style-05.typ"-        ( line 4 , column 5 )-        (FieldAccess-           (Ident (Identifier "eq")) (Ident (Identifier "colon")))-    , Code-        "test/typ/math/style-05.typ"-        ( line 4 , column 8 )-        (FuncCall-           (Ident (Identifier "vec"))-           [ BlockArg [ Text "1" , Text "+" , Text "2" ]-           , BlockArg-               [ Text "2"-               , Code-                   "test/typ/math/style-05.typ"-                   ( line 4 , column 21 )-                   (Ident (Identifier "minus"))-               , Text "4"-               ]-           , BlockArg-               [ Code-                   "test/typ/math/style-05.typ"-                   ( line 4 , column 26 )-                   (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "3" ] ])-               ]-           , BlockArg-               [ Code-                   "test/typ/math/style-05.typ"-                   ( line 4 , column 35 )-                   (FuncCall (Ident (Identifier "arrow")) [ BlockArg [ Text "x" ] ])-               ]-           ])-    , Text "+"-    , Text "1"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [v]), -                                       text(body: [≔]), -                                       math.vec(children: ({ text(body: [1]), -                                                             text(body: [+]), -                                                             text(body: [2]) }, -                                                           { text(body: [2]), -                                                             text(body: [−]), -                                                             text(body: [4]) }, -                                                           math.sqrt(radicand: text(body: [3])), -                                                           math.accent(accent: →, -                                                                       base: text(body: [x])))), -                                       text(body: [+]), -                                       text(body: [1]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/style-06.out
@@ -1,104 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/style-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/style-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/style-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/style-06.typ"-    ( line 3 , column 2 )-    (Show-       (Just-          (FieldAccess-             (Ident (Identifier "tack")) (Ident (Identifier "sym"))))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (Content-                [ Equation-                    False-                    [ Code-                        "test/typ/math/style-06.typ"-                        ( line 3 , column 25 )-                        (FuncCall-                           (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Em)) ])-                    , Code-                        "test/typ/math/style-06.typ"-                        ( line 3 , column 32 )-                        (Ident (Identifier "it"))-                    , Code-                        "test/typ/math/style-06.typ"-                        ( line 3 , column 36 )-                        (FuncCall-                           (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Em)) ])-                    ]-                ]))))-, SoftBreak-, Equation-    True-    [ Text "a"-    , Code-        "test/typ/math/style-06.typ"-        ( line 4 , column 5 )-        (Ident (Identifier "tack"))-    , Text "b"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [a]), -                                       math.equation(block: false, -                                                     body: { h(amount: 1.0em), -                                                             text(body: { [], -                                                                          math.equation(block: false, -                                                                                        body: { h(amount: 1.0em), -                                                                                                text(body: [⊢]), -                                                                                                h(amount: 1.0em) }, -                                                                                        numbering: none), -                                                                          [] }), -                                                             h(amount: 1.0em) }, -                                                     numbering: none), -                                       text(body: [b]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/syntax-00.out
@@ -1,92 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/syntax-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/syntax-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/syntax-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ MAttach-        (Just (MGroup Nothing Nothing [ Text "i" , Text "=" , Text "0" ]))-        (Just (Text "\8469"))-        (Text "\8721")-    , Text "a"-    , Text "\8728"-    , Text "b"-    , Text "="-    , MAttach-        (Just (MGroup Nothing Nothing [ Text "i" , Text "=" , Text "0" ]))-        (Just-           (Code-              "test/typ/math/syntax-00.typ"-              ( line 3 , column 36 )-              (Ident (Identifier "NN"))))-        (Text "\8721")-    , Text "a"-    , Code-        "test/typ/math/syntax-00.typ"-        ( line 3 , column 41 )-        (Ident (Identifier "compose"))-    , Text "b"-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: { text(body: [i]), -                                                        text(body: [=]), -                                                        text(body: [0]) }, -                                                   base: text(body: [∑]), -                                                   t: text(body: [ℕ])), -                                       text(body: [a]), -                                       text(body: [∘]), -                                       text(body: [b]), -                                       text(body: [=]), -                                       math.attach(b: { text(body: [i]), -                                                        text(body: [=]), -                                                        text(body: [0]) }, -                                                   base: text(body: [∑]), -                                                   t: text(body: [ℕ])), -                                       text(body: [a]), -                                       text(body: [∘]), -                                       text(body: [b]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/syntax-01.out
@@ -1,184 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/syntax-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/syntax-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/syntax-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/syntax-01.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "underline"))-           [ BlockArg-               [ Text "f"-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 3 , column 14 )-                   (Ident (Identifier "prime"))-               , Text ":"-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 3 , column 18 )-                   (Ident (Identifier "NN"))-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 3 , column 21 )-                   (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 3 , column 24 )-                   (Ident (Identifier "RR"))-               ]-           ])-    , HardBreak-    , Text "n"-    , Code-        "test/typ/math/syntax-01.typ"-        ( line 4 , column 5 )-        (FieldAccess-           (Ident (Identifier "r"))-           (FieldAccess-              (Ident (Identifier "bar")) (Ident (Identifier "arrow"))))-    , Code-        "test/typ/math/syntax-01.typ"-        ( line 4 , column 9 )-        (FuncCall-           (Ident (Identifier "cases"))-           [ BlockArg-               [ Code-                   "test/typ/math/syntax-01.typ"-                   ( line 5 , column 5 )-                   (FieldAccess-                      (Ident (Identifier "l"))-                      (FieldAccess-                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-               , Text "1"-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 5 , column 8 )-                   (FieldAccess-                      (Ident (Identifier "r"))-                      (FieldAccess-                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))-               , MAlignPoint-               , Text "if "-               , Text "n"-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 5 , column 19 )-                   (FieldAccess-                      (Ident (Identifier "triple")) (Ident (Identifier "gt")))-               , Text "10"-               ]-           , BlockArg-               [ Text "2"-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 6 , column 7 )-                   (Ident (Identifier "convolve"))-               , Text "3"-               , MAlignPoint-               , Text "if "-               , Text "n"-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 6 , column 19 )-                   (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))-               , Text "5"-               ]-           , BlockArg-               [ Text "1"-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 7 , column 7 )-                   (Ident (Identifier "minus"))-               , Text "0"-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 7 , column 11 )-                   (Ident (Identifier "thick"))-               , MAlignPoint-               , Code-                   "test/typ/math/syntax-01.typ"-                   ( line 7 , column 18 )-                   (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.underline(body: { text(body: [f]), -                                                              text(body: [′]), -                                                              text(body: [:]), -                                                              text(body: [ℕ]), -                                                              text(body: [→]), -                                                              text(body: [ℝ]) }), -                                       linebreak(), -                                       text(body: [n]), -                                       text(body: [↦]), -                                       math.cases(children: ({ text(body: [⟦]), -                                                               text(body: [1]), -                                                               text(body: [⟧]), -                                                               math.alignpoint(), -                                                               text(body: [if ]), -                                                               text(body: [n]), -                                                               text(body: [⋙]), -                                                               text(body: [10]) }, -                                                             { text(body: [2]), -                                                               text(body: [∗]), -                                                               text(body: [3]), -                                                               math.alignpoint(), -                                                               text(body: [if ]), -                                                               text(body: [n]), -                                                               text(body: [≠]), -                                                               text(body: [5]) }, -                                                             { text(body: [1]), -                                                               text(body: [−]), -                                                               text(body: [0]), -                                                               text(body: [ ]), -                                                               math.alignpoint(), -                                                               text(body: […]) })) }, -                               numbering: none), -                 parbreak() })
− test/out/math/syntax-02.out
@@ -1,86 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/syntax-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/syntax-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/syntax-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/syntax-02.typ"-        ( line 3 , column 3 )-        (Ident (Identifier "dot"))-    , HardBreak-    , Code-        "test/typ/math/syntax-02.typ"-        ( line 3 , column 9 )-        (Ident (Identifier "dots"))-    , HardBreak-    , Code-        "test/typ/math/syntax-02.typ"-        ( line 3 , column 16 )-        (Ident (Identifier "ast"))-    , HardBreak-    , Code-        "test/typ/math/syntax-02.typ"-        ( line 3 , column 22 )-        (Ident (Identifier "tilde"))-    , HardBreak-    , Code-        "test/typ/math/syntax-02.typ"-        ( line 3 , column 30 )-        (Ident (Identifier "star"))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [⋅]), -                                       linebreak(), -                                       text(body: […]), -                                       linebreak(), -                                       text(body: [∗]), -                                       linebreak(), -                                       text(body: [∼]), -                                       linebreak(), -                                       text(body: [⋆]) }, -                               numbering: none), -                 parbreak() })
− test/out/math/syntax-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/math/unbalanced-00.out
@@ -1,128 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/unbalanced-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/unbalanced-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/unbalanced-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    True-    [ MFrac-        (Text "1")-        (MGroup-           (Just "(")-           Nothing-           [ Text "2" , MGroup (Just "(") (Just ")") [ Text "x" ] ])-    ]-, SoftBreak-, Equation-    True-    [ MAttach-        (Just-           (MGroup-              (Just "(")-              Nothing-              [ Text "2"-              , Text "y"-              , MGroup (Just "(") (Just ")") [ Text "x" ]-              , MGroup (Just "(") (Just ")") []-              ]))-        Nothing-        (Text "1")-    ]-, SoftBreak-, Equation-    True-    [ MFrac-        (Text "1")-        (MGroup-           (Just "(")-           Nothing-           [ Text "2"-           , Text "y"-           , MGroup (Just "(") (Just ")") [ Text "x" ]-           , MGroup-               (Just "(")-               (Just ")")-               [ Text "2" , MGroup (Just "(") (Just ")") [ Text "3" ] ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.frac(denom: { text(body: [(]), -                                                        text(body: [2]), -                                                        math.lr(body: ({ [(], -                                                                         text(body: [x]), -                                                                         [)] })) }, -                                               num: text(body: [1])), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.attach(b: { text(body: [(]), -                                                      text(body: [2]), -                                                      text(body: [y]), -                                                      math.lr(body: ({ [(], -                                                                       text(body: [x]), -                                                                       [)] })), -                                                      math.lr(body: ({ [(], -                                                                       [)] })) }, -                                                 base: text(body: [1]), -                                                 t: none), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.frac(denom: { text(body: [(]), -                                                        text(body: [2]), -                                                        text(body: [y]), -                                                        math.lr(body: ({ [(], -                                                                         text(body: [x]), -                                                                         [)] })), -                                                        math.lr(body: ({ [(], -                                                                         text(body: [2]), -                                                                         math.lr(body: ({ [(], -                                                                                          text(body: [3]), -                                                                                          [)] })), -                                                                         [)] })) }, -                                               num: text(body: [1])), -                               numbering: none), -                 parbreak() })
− test/out/math/underover-00.out
@@ -1,96 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/underover-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/underover-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/underover-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "x"-    , Text "="-    , Code-        "test/typ/math/underover-00.typ"-        ( line 3 , column 7 )-        (FuncCall-           (Ident (Identifier "underbrace"))-           [ BlockArg-               [ Text "1"-               , Text "+"-               , Text "2"-               , Text "+"-               , Code-                   "test/typ/math/underover-00.typ"-                   ( line 4 , column 11 )-                   (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))-               , Text "+"-               , Text "5"-               ]-           , BlockArg-               [ Code-                   "test/typ/math/underover-00.typ"-                   ( line 5 , column 3 )-                   (FuncCall-                      (Ident (Identifier "underbrace"))-                      [ BlockArg [ Text "numbers" ]-                      , BlockArg [ Text "x" , Text "+" , Text "y" ]-                      ])-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [x]), -                                       text(body: [=]), -                                       math.underbrace(annotation: math.underbrace(annotation: { text(body: [x]), -                                                                                                 text(body: [+]), -                                                                                                 text(body: [y]) }, -                                                                                   body: text(body: [numbers])), -                                                       body: { text(body: [1]), -                                                               text(body: [+]), -                                                               text(body: [2]), -                                                               text(body: [+]), -                                                               text(body: […]), -                                                               text(body: [+]), -                                                               text(body: [5]) }) }, -                               numbering: none), -                 parbreak() })
− test/out/math/underover-01.out
@@ -1,101 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/underover-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/underover-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/underover-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "x"-    , Text "="-    , Code-        "test/typ/math/underover-01.typ"-        ( line 3 , column 7 )-        (FuncCall-           (Ident (Identifier "overbracket"))-           [ BlockArg-               [ Code-                   "test/typ/math/underover-01.typ"-                   ( line 4 , column 3 )-                   (FuncCall-                      (Ident (Identifier "overline"))-                      [ BlockArg-                          [ Code-                              "test/typ/math/underover-01.typ"-                              ( line 4 , column 12 )-                              (FuncCall-                                 (Ident (Identifier "underline"))-                                 [ BlockArg [ Text "x" , Text "+" , Text "y" ] ])-                          ]-                      ])-               ]-           , BlockArg-               [ Text "1"-               , Text "+"-               , Text "2"-               , Text "+"-               , Code-                   "test/typ/math/underover-01.typ"-                   ( line 5 , column 11 )-                   (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))-               , Text "+"-               , Text "5"-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [x]), -                                       text(body: [=]), -                                       math.overbracket(annotation: { text(body: [1]), -                                                                      text(body: [+]), -                                                                      text(body: [2]), -                                                                      text(body: [+]), -                                                                      text(body: […]), -                                                                      text(body: [+]), -                                                                      text(body: [5]) }, -                                                        body: math.overline(body: math.underline(body: { text(body: [x]), -                                                                                                         text(body: [+]), -                                                                                                         text(body: [y]) }))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/underover-02.out
@@ -1,105 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/underover-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/underover-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/underover-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Code-        "test/typ/math/underover-02.typ"-        ( line 3 , column 3 )-        (FuncCall-           (Ident (Identifier "underbracket"))-           [ BlockArg-               [ MGroup-                   (Just "[")-                   (Just "]")-                   [ Text "1" , Text "," , MFrac (Text "2") (Text "3") ]-               ]-           , BlockArg [ Text " relevant stuff" ]-           ])-    , Code-        "test/typ/math/underover-02.typ"-        ( line 4 , column 11 )-        (FieldAccess-           (Ident (Identifier "long"))-           (FieldAccess-              (Ident (Identifier "double"))-              (FieldAccess-                 (Ident (Identifier "r"))-                 (FieldAccess-                    (Ident (Identifier "l")) (Ident (Identifier "arrow"))))))-    , Code-        "test/typ/math/underover-02.typ"-        ( line 5 , column 3 )-        (FuncCall-           (Ident (Identifier "overbracket"))-           [ BlockArg-               [ MGroup-                   (Just "[")-                   (Just "]")-                   [ MFrac (Text "4") (Text "5") , Text "," , Text "6" ]-               ]-           , BlockArg [ Text " irrelevant stuff" ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.underbracket(annotation: text(body: [ relevant stuff]), -                                                         body: math.lr(body: ({ [[], -                                                                                text(body: [1]), -                                                                                text(body: [,]), -                                                                                math.frac(denom: text(body: [3]), -                                                                                          num: text(body: [2])), -                                                                                []] }))), -                                       text(body: [⟺]), -                                       math.overbracket(annotation: text(body: [ irrelevant stuff]), -                                                        body: math.lr(body: ({ [[], -                                                                               math.frac(denom: text(body: [5]), -                                                                                         num: text(body: [4])), -                                                                               text(body: [,]), -                                                                               text(body: [6]), -                                                                               []] }))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/vec-00.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/vec-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/vec-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/vec-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Equation-    True-    [ Text "v"-    , Text "="-    , Code-        "test/typ/math/vec-00.typ"-        ( line 3 , column 7 )-        (FuncCall-           (Ident (Identifier "vec"))-           [ BlockArg [ Text "1" ]-           , BlockArg [ Text "2" , Text "+" , Text "3" ]-           , BlockArg [ Text "4" ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [v]), -                                       text(body: [=]), -                                       math.vec(children: (text(body: [1]), -                                                           { text(body: [2]), -                                                             text(body: [+]), -                                                             text(body: [3]) }, -                                                           text(body: [4]))) }, -                               numbering: none), -                 parbreak() })
− test/out/math/vec-01.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/math/vec-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/math/vec-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/math/vec-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/math/vec-01.typ"-    ( line 3 , column 2 )-    (Set-       (FieldAccess-          (Ident (Identifier "vec")) (Ident (Identifier "math")))-       [ KeyValArg (Identifier "delim") (Literal (String "[")) ])-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/math/vec-01.typ"-        ( line 4 , column 3 )-        (FuncCall-           (Ident (Identifier "vec"))-           [ BlockArg [ Text "1" ] , BlockArg [ Text "2" ] ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 math.equation(block: true, -                               body: math.vec(children: (text(body: [1]), -                                                         text(body: [2])), -                                              delim: "["), -                               numbering: none), -                 parbreak() })
− test/out/math/vec-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/bibliography-00.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/bibliography-01.out
@@ -1,105 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/bibliography-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/bibliography-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/bibliography-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/bibliography-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt)) ])-, SoftBreak-, Heading 1 [ Text "Details" ]-, Text "See"-, Space-, Text "also"-, Space-, Code-    "test/typ/meta/bibliography-01.typ"-    ( line 4 , column 11 )-    (FuncCall-       (Ident (Identifier "cite"))-       [ NormalArg (Label "distress")-       , KeyValArg-           (Identifier "supplement")-           (Block (Content [ Text "p" , Text "." , Space , Text "22" ]))-       ])-, Text ","-, Space-, Ref-    "arrgh"-    (Block (Content [ Text "p" , Text "." , Space , Text "4" ]))-, Text ","-, Space-, Text "and"-, Space-, Ref-    "distress"-    (Block (Content [ Text "p" , Text "." , Space , Text "5" ]))-, Text "."-, SoftBreak-, Code-    "test/typ/meta/bibliography-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "bibliography"))-       [ NormalArg (Literal (String "/works.bib")) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 heading(body: text(body: [Details]), -                         level: 1), -                 text(body: [See also ]), -                 cite(key: <distress>, -                      supplement: text(body: [p. 22])), -                 text(body: [, ]), -                 ref(supplement: text(body: [p. 4]), -                     target: <arrgh>), -                 text(body: [, and ]), -                 ref(supplement: text(body: [p. 5]), -                     target: <distress>), -                 text(body: [.-]), -                 bibliography(path: "/works.bib"), -                 parbreak() })
− test/out/meta/bibliography-02.out
@@ -1,166 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/bibliography-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/bibliography-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/bibliography-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/bibliography-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/meta/bibliography-02.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "bibliography"))-       [ NormalArg (Literal (String "/works.bib"))-       , KeyValArg-           (Identifier "title")-           (Block-              (Content-                 [ Text "Works"-                 , Space-                 , Text "to"-                 , Space-                 , Text "be"-                 , Space-                 , Text "cited"-                 ]))-       , KeyValArg-           (Identifier "style") (Literal (String "chicago-author-date"))-       ])-, SoftBreak-, Code-    "test/typ/meta/bibliography-02.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 100.0 Percent))-       ])-, SoftBreak-, Code-    "test/typ/meta/bibliography-02.typ"-    ( line 6 , column 2 )-    (Block-       (Content-          [ Code-              "test/typ/meta/bibliography-02.typ"-              ( line 6 , column 4 )-              (Set-                 (Ident (Identifier "cite"))-                 [ KeyValArg (Identifier "brackets") (Literal (Boolean False)) ])-          , SoftBreak-          , Text "As"-          , Space-          , Text "described"-          , Space-          , Text "by"-          , Space-          , Ref "netwok" (Literal Auto)-          ]))-, Text ","-, SoftBreak-, Text "the"-, Space-, Text "net"-, Text "-"-, Text "work"-, Space-, Text "is"-, Space-, Text "a"-, Space-, Text "creature"-, Space-, Text "of"-, Space-, Text "its"-, Space-, Text "own"-, Text "."-, SoftBreak-, Text "This"-, Space-, Text "is"-, Space-, Text "close"-, Space-, Text "to"-, Space-, Text "piratery!"-, Space-, Ref "arrgh" (Literal Auto)-, SoftBreak-, Text "And"-, Space-, Text "quark!"-, Space-, Ref "quark" (Literal Auto)-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 bibliography(path: "/works.bib", -                              style: "chicago-author-date", -                              title: text(body: [Works to be cited])), -                 text(body: [-]), -                 line(length: 100%), -                 text(body: [-]), -                 text(body: [-As described by ]), -                 ref(supplement: auto, -                     target: <netwok>), -                 text(body: [,-the net-work is a creature of its own.-This is close to piratery! ]), -                 ref(supplement: auto, -                     target: <arrgh>), -                 text(body: [-And quark! ]), -                 ref(supplement: auto, -                     target: <quark>), -                 parbreak() })
− test/out/meta/bibliography-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/bibliography-04.out
@@ -1,120 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/bibliography-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/bibliography-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/bibliography-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/bibliography-04.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/meta/bibliography-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "numbering") (Literal (String "1.")) ])-, SoftBreak-, Code-    "test/typ/meta/bibliography-04.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Ident (Identifier "bibliography")))-       (Set-          (Ident (Identifier "heading"))-          [ KeyValArg (Identifier "numbering") (Literal (String "1.")) ]))-, ParBreak-, Heading 1 [ Text "Multiple" , Space , Text "Bibs" ]-, Text "Now"-, Space-, Text "we"-, Space-, Text "have"-, Space-, Text "multiple"-, Space-, Text "bibliographies"-, Space-, Text "containing"-, Space-, Code-    "test/typ/meta/bibliography-04.typ"-    ( line 7 , column 49 )-    (FuncCall-       (Ident (Identifier "cite")) [ NormalArg (Label "glacier-melt") ])-, Code-    "test/typ/meta/bibliography-04.typ"-    ( line 7 , column 70 )-    (FuncCall-       (Ident (Identifier "cite")) [ NormalArg (Label "keshav2007read") ])-, SoftBreak-, Code-    "test/typ/meta/bibliography-04.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "bibliography"))-       [ NormalArg-           (Array-              [ Reg (Literal (String "/works.bib"))-              , Reg (Literal (String "/works_too.bib"))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [Multiple Bibs]), -                         level: 1, -                         numbering: "1."), -                 text(body: [Now we have multiple bibliographies containing ]), -                 cite(key: <glacier-melt>), -                 cite(key: <keshav2007read>), -                 text(body: [-]), -                 bibliography(path: ("/works.bib", -                                     "/works_too.bib")), -                 parbreak() })
− test/out/meta/bibliography-ordering-00.out
@@ -1,134 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/bibliography-ordering-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/bibliography-ordering-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/bibliography-ordering-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/bibliography-ordering-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 300.0 Pt)) ])-, ParBreak-, Ref "mcintosh_anxiety" (Literal Auto)-, Text ","-, Space-, Ref "psychology25" (Literal Auto)-, SoftBreak-, Ref "netwok" (Literal Auto)-, Text ","-, Space-, Ref "issue201" (Literal Auto)-, Text ","-, Space-, Ref "arrgh" (Literal Auto)-, Text ","-, Space-, Ref "quark" (Literal Auto)-, Text ","-, Space-, Ref "distress" (Literal Auto)-, Text ","-, SoftBreak-, Ref "glacier-melt" (Literal Auto)-, Text ","-, Space-, Ref "issue201" (Literal Auto)-, Text ","-, Space-, Ref "tolkien54" (Literal Auto)-, Text ","-, Space-, Ref "sharing" (Literal Auto)-, Text ","-, Space-, Ref "restful" (Literal Auto)-, ParBreak-, Code-    "test/typ/meta/bibliography-ordering-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "bibliography"))-       [ NormalArg (Literal (String "/works.bib")) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 ref(supplement: auto, -                     target: <mcintosh_anxiety>), -                 text(body: [, ]), -                 ref(supplement: auto, -                     target: <psychology25>), -                 text(body: [-]), -                 ref(supplement: auto, -                     target: <netwok>), -                 text(body: [, ]), -                 ref(supplement: auto, -                     target: <issue201>), -                 text(body: [, ]), -                 ref(supplement: auto, -                     target: <arrgh>), -                 text(body: [, ]), -                 ref(supplement: auto, -                     target: <quark>), -                 text(body: [, ]), -                 ref(supplement: auto, -                     target: <distress>), -                 text(body: [,-]), -                 ref(supplement: auto, -                     target: <glacier-melt>), -                 text(body: [, ]), -                 ref(supplement: auto, -                     target: <issue201>), -                 text(body: [, ]), -                 ref(supplement: auto, -                     target: <tolkien54>), -                 text(body: [, ]), -                 ref(supplement: auto, -                     target: <sharing>), -                 text(body: [, ]), -                 ref(supplement: auto, -                     target: <restful>), -                 parbreak(), -                 bibliography(path: "/works.bib"), -                 parbreak() })
− test/out/meta/cite-footnote-00.out
@@ -1,83 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/cite-footnote-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/cite-footnote-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/cite-footnote-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Text "Hello"-, Space-, Ref "netwok" (Literal Auto)-, SoftBreak-, Text "And"-, Space-, Text "again"-, Text ":"-, Space-, Ref "netwok" (Literal Auto)-, ParBreak-, Code-    "test/typ/meta/cite-footnote-00.typ"-    ( line 5 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, SoftBreak-, Code-    "test/typ/meta/cite-footnote-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "bibliography"))-       [ NormalArg (Literal (String "/works.bib"))-       , KeyValArg (Identifier "style") (Literal (String "chicago-notes"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-Hello ]), -                 ref(supplement: auto, -                     target: <netwok>), -                 text(body: [-And again: ]), -                 ref(supplement: auto, -                     target: <netwok>), -                 parbreak(), -                 pagebreak(), -                 text(body: [-]), -                 bibliography(path: "/works.bib", -                              style: "chicago-notes"), -                 parbreak() })
− test/out/meta/counter-00.out
@@ -1,188 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/counter-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/counter-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/counter-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/counter-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "mine")))-       (FuncCall-          (Ident (Identifier "counter"))-          [ NormalArg (Literal (String "mine!")) ]))-, ParBreak-, Text "Final"-, Text ":"-, Space-, Code-    "test/typ/meta/counter-00.typ"-    ( line 5 , column 9 )-    (FuncCall-       (Ident (Identifier "locate"))-       [ NormalArg-           (FuncExpr-              [ NormalParam (Identifier "loc") ]-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "at"))-                    (FuncCall-                       (FieldAccess-                          (Ident (Identifier "final")) (Ident (Identifier "mine")))-                       [ NormalArg (Ident (Identifier "loc")) ]))-                 [ NormalArg (Literal (Int 0)) ]))-       ])-, Space-, HardBreak-, Code-    "test/typ/meta/counter-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "step")) (Ident (Identifier "mine")))-       [])-, SoftBreak-, Text "First"-, Text ":"-, Space-, Code-    "test/typ/meta/counter-00.typ"-    ( line 7 , column 9 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "display")) (Ident (Identifier "mine")))-       [])-, Space-, HardBreak-, Code-    "test/typ/meta/counter-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "update")) (Ident (Identifier "mine")))-       [ NormalArg (Literal (Int 7)) ])-, SoftBreak-, Code-    "test/typ/meta/counter-00.typ"-    ( line 9 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "display")) (Ident (Identifier "mine")))-       [ NormalArg (Literal (String "1 of 1"))-       , KeyValArg (Identifier "both") (Literal (Boolean True))-       ])-, Space-, HardBreak-, Code-    "test/typ/meta/counter-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "step")) (Ident (Identifier "mine")))-       [])-, SoftBreak-, Code-    "test/typ/meta/counter-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "step")) (Ident (Identifier "mine")))-       [])-, SoftBreak-, Text "Second"-, Text ":"-, Space-, Code-    "test/typ/meta/counter-00.typ"-    ( line 12 , column 10 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "display")) (Ident (Identifier "mine")))-       [ NormalArg (Literal (String "I")) ])-, SoftBreak-, Code-    "test/typ/meta/counter-00.typ"-    ( line 13 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "update")) (Ident (Identifier "mine")))-       [ NormalArg-           (FuncExpr-              [ NormalParam (Identifier "n") ]-              (Times (Ident (Identifier "n")) (Literal (Int 2))))-       ])-, SoftBreak-, Code-    "test/typ/meta/counter-00.typ"-    ( line 14 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "step")) (Ident (Identifier "mine")))-       [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Final: ]), -                 locate(func: ), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-First: ]), -                 text(body: [1]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-]), -                 text(body: [7]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-]), -                 text(body: [-Second: ]), -                 text(body: [9]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak() })
− test/out/meta/counter-01.out
@@ -1,127 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/counter-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/counter-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/counter-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/counter-01.typ"-    ( line 3 , column 2 )-    (Let (BasicBind (Just (Identifier "label"))) (Label "heya"))-, SoftBreak-, Code-    "test/typ/meta/counter-01.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "count")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "display"))-             (FuncCall-                (Ident (Identifier "counter"))-                [ NormalArg (Ident (Identifier "label")) ]))-          []))-, SoftBreak-, Code-    "test/typ/meta/counter-01.typ"-    ( line 5 , column 2 )-    (LetFunc-       (Identifier "elem")-       [ NormalParam (Identifier "it") ]-       (Block-          (Content-             [ Code-                 "test/typ/meta/counter-01.typ"-                 ( line 5 , column 19 )-                 (FuncCall-                    (Ident (Identifier "box")) [ NormalArg (Ident (Identifier "it")) ])-             , Space-             , Code-                 "test/typ/meta/counter-01.typ"-                 ( line 5 , column 28 )-                 (Ident (Identifier "label"))-             ])))-, ParBreak-, Code-    "test/typ/meta/counter-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "elem"))-       [ BlockArg [ Text "hey," , Space , Text "there!" ] ])-, Space-, Code-    "test/typ/meta/counter-01.typ"-    ( line 7 , column 21 )-    (Ident (Identifier "count"))-, Space-, HardBreak-, Code-    "test/typ/meta/counter-01.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "elem"))-       [ BlockArg [ Text "more" , Space , Text "here!" ] ])-, Space-, Code-    "test/typ/meta/counter-01.typ"-    ( line 8 , column 20 )-    (Ident (Identifier "count"))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 box(body: text(body: [hey, there!])), -                 text(body: [ ]), -                 <heya>, -                 text(body: [ ]), -                 text(body: [0]), -                 text(body: [ ]), -                 linebreak(), -                 box(body: text(body: [more here!])), -                 text(body: [ ]), -                 <heya>, -                 text(body: [ ]), -                 text(body: [0]), -                 parbreak() })
− test/out/meta/counter-02.out
@@ -1,189 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/counter-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/counter-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/counter-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/counter-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "numbering") (Literal (String "1.a.")) ])-, SoftBreak-, Code-    "test/typ/meta/counter-02.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Ident (Identifier "heading")))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Literal (Numeric 10.0 Pt)) ]))-, SoftBreak-, Code-    "test/typ/meta/counter-02.typ"-    ( line 5 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "step"))-          (FuncCall-             (Ident (Identifier "counter"))-             [ NormalArg (Ident (Identifier "heading")) ]))-       [])-, ParBreak-, Heading 1 [ Text "Alpha" ]-, Text "In"-, Space-, Code-    "test/typ/meta/counter-02.typ"-    ( line 8 , column 5 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "display"))-          (FuncCall-             (Ident (Identifier "counter"))-             [ NormalArg (Ident (Identifier "heading")) ]))-       [])-, SoftBreak-, Heading 2 [ Text "Beta" ]-, Code-    "test/typ/meta/counter-02.typ"-    ( line 11 , column 2 )-    (Set-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "numbering") (Literal None) ])-, SoftBreak-, Heading 1 [ Text "Gamma" ]-, Code-    "test/typ/meta/counter-02.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "numbering") (Literal (String "I."))-       , BlockArg [ Text "Delta" ]-       ])-, ParBreak-, Text "At"-, Space-, Text "Beta,"-, Space-, Text "it"-, Space-, Text "was"-, Space-, Code-    "test/typ/meta/counter-02.typ"-    ( line 15 , column 18 )-    (FuncCall-       (Ident (Identifier "locate"))-       [ NormalArg-           (FuncExpr-              [ NormalParam (Identifier "loc") ]-              (Block-                 (CodeBlock-                    [ Let-                        (BasicBind (Just (Identifier "it")))-                        (FuncCall-                           (FieldAccess-                              (Ident (Identifier "find"))-                              (FuncCall-                                 (Ident (Identifier "query"))-                                 [ NormalArg (Ident (Identifier "heading"))-                                 , NormalArg (Ident (Identifier "loc"))-                                 ]))-                           [ NormalArg-                               (FuncExpr-                                  [ NormalParam (Identifier "it") ]-                                  (Equals-                                     (FieldAccess-                                        (Ident (Identifier "body")) (Ident (Identifier "it")))-                                     (Block (Content [ Text "Beta" ]))))-                           ])-                    , FuncCall-                        (Ident (Identifier "numbering"))-                        [ NormalArg-                            (FieldAccess-                               (Ident (Identifier "numbering")) (Ident (Identifier "it")))-                        , SpreadArg-                            (FuncCall-                               (FieldAccess-                                  (Ident (Identifier "at"))-                                  (FuncCall-                                     (Ident (Identifier "counter"))-                                     [ NormalArg (Ident (Identifier "heading")) ]))-                               [ NormalArg-                                   (FuncCall-                                      (FieldAccess-                                         (Ident (Identifier "location")) (Ident (Identifier "it")))-                                      [])-                               ])-                        ]-                    ])))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [Alpha]), -                         level: 1, -                         numbering: "1.a."), -                 text(body: [In ]), -                 text(body: [1]), -                 text(body: [-]), -                 heading(body: text(body: [Beta]), -                         level: 2, -                         numbering: "1.a."), -                 text(body: [-]), -                 heading(body: text(body: [Gamma]), -                         level: 1, -                         numbering: none), -                 heading(body: text(body: [Delta]), -                         numbering: "I."), -                 parbreak(), -                 text(body: [At Beta, it was ]), -                 locate(func: ), -                 parbreak() })
− test/out/meta/counter-03.out
@@ -1,179 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/counter-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/counter-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/counter-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/counter-03.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ KeyValArg (Identifier "numbering") (Literal (String "A"))-       , KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ Text "Four"-                 , Space-                 , Quote '\''-                 , Text "A"-                 , Quote '\''-                 , Text "s"-                 ]))-       , KeyValArg (Identifier "kind") (Ident (Identifier "image"))-       , KeyValArg (Identifier "supplement") (Literal (String "Figure"))-       , BlockArg [ Emph [ Text "AAAA!" ] ]-       ])-, SoftBreak-, Code-    "test/typ/meta/counter-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ KeyValArg (Identifier "numbering") (Literal None)-       , KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ Text "Four"-                 , Space-                 , Quote '\''-                 , Text "B"-                 , Quote '\''-                 , Text "s"-                 ]))-       , KeyValArg (Identifier "kind") (Ident (Identifier "image"))-       , KeyValArg (Identifier "supplement") (Literal (String "Figure"))-       , BlockArg [ Emph [ Text "BBBB!" ] ]-       ])-, SoftBreak-, Code-    "test/typ/meta/counter-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ Text "Four"-                 , Space-                 , Quote '\''-                 , Text "C"-                 , Quote '\''-                 , Text "s"-                 ]))-       , KeyValArg (Identifier "kind") (Ident (Identifier "image"))-       , KeyValArg (Identifier "supplement") (Literal (String "Figure"))-       , BlockArg [ Emph [ Text "CCCC!" ] ]-       ])-, SoftBreak-, Code-    "test/typ/meta/counter-03.typ"-    ( line 6 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "update"))-          (FuncCall-             (Ident (Identifier "counter"))-             [ NormalArg-                 (FuncCall-                    (FieldAccess-                       (Ident (Identifier "where")) (Ident (Identifier "figure")))-                    [ KeyValArg (Identifier "kind") (Ident (Identifier "image")) ])-             ]))-       [ NormalArg-           (FuncExpr-              [ NormalParam (Identifier "n") ]-              (Plus (Ident (Identifier "n")) (Literal (Int 3))))-       ])-, SoftBreak-, Code-    "test/typ/meta/counter-03.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ Text "Four"-                 , Space-                 , Quote '\''-                 , Text "D"-                 , Quote '\''-                 , Text "s"-                 ]))-       , KeyValArg (Identifier "kind") (Ident (Identifier "image"))-       , KeyValArg (Identifier "supplement") (Literal (String "Figure"))-       , BlockArg [ Emph [ Text "DDDD!" ] ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 figure(body: emph(body: text(body: [AAAA!])), -                        caption: text(body: [Four ‘A’s]), -                        kind: , -                        numbering: "A", -                        supplement: "Figure"), -                 text(body: [-]), -                 figure(body: emph(body: text(body: [BBBB!])), -                        caption: text(body: [Four ‘B’s]), -                        kind: , -                        numbering: none, -                        supplement: "Figure"), -                 text(body: [-]), -                 figure(body: emph(body: text(body: [CCCC!])), -                        caption: text(body: [Four ‘C’s]), -                        kind: , -                        supplement: "Figure"), -                 text(body: [-]), -                 text(body: [-]), -                 figure(body: emph(body: text(body: [DDDD!])), -                        caption: text(body: [Four ‘D’s]), -                        kind: , -                        supplement: "Figure"), -                 parbreak() })
− test/out/meta/counter-page-00.out
@@ -1,130 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/counter-page-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/counter-page-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/counter-page-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/meta/counter-page-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Pt))-       , KeyValArg-           (Identifier "margin")-           (Dict-              [ Reg ( Ident (Identifier "bottom") , Literal (Numeric 20.0 Pt) )-              , Reg ( Ident (Identifier "rest") , Literal (Numeric 10.0 Pt) )-              ])-       ])-, SoftBreak-, Code-    "test/typ/meta/counter-page-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 12)) ])-, SoftBreak-, Code-    "test/typ/meta/counter-page-00.typ"-    ( line 6 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "numbering") (Literal (String "(i)")) ])-, SoftBreak-, Code-    "test/typ/meta/counter-page-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 6)) ])-, SoftBreak-, Code-    "test/typ/meta/counter-page-00.typ"-    ( line 8 , column 2 )-    (FuncCall (Ident (Identifier "pagebreak")) [])-, SoftBreak-, Code-    "test/typ/meta/counter-page-00.typ"-    ( line 9 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "numbering") (Literal (String "1 / 1")) ])-, SoftBreak-, Code-    "test/typ/meta/counter-page-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "update"))-          (FuncCall-             (Ident (Identifier "counter"))-             [ NormalArg (Ident (Identifier "page")) ]))-       [ NormalArg (Literal (Int 1)) ])-, SoftBreak-, Code-    "test/typ/meta/counter-page-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [Lorem ipsum dolor sit amet, consectetur]), -                 text(body: [-]), -                 pagebreak(), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut]), -                 parbreak() })
− test/out/meta/document-00.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/document-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/document-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/document-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/document-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "document"))-       [ KeyValArg (Identifier "title") (Literal (String "Hello")) ])-, SoftBreak-, Text "What"-, Quote '\''-, Text "s"-, Space-, Text "up?"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-What’s up?]), -                 parbreak() })
− test/out/meta/document-01.out
@@ -1,58 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/document-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/document-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/document-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/meta/document-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "document"))-       [ KeyValArg-           (Identifier "author")-           (Array [ Reg (Literal (String "A")) , Reg (Literal (String "B")) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak() })
− test/out/meta/document-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/document-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/document-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/document-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/document-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/document-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/figure-00.out
@@ -1,225 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/figure-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/figure-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/figure-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/figure-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 150.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/meta/figure-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "figure"))-       [ KeyValArg (Identifier "numbering") (Literal (String "I")) ])-, ParBreak-, Text "We"-, Space-, Text "can"-, Space-, Text "clearly"-, Space-, Text "see"-, Space-, Text "that"-, Space-, Ref "fig-cylinder" (Literal Auto)-, Space-, Text "and"-, SoftBreak-, Ref "tab-complex" (Literal Auto)-, Space-, Text "are"-, Space-, Text "relevant"-, Space-, Text "in"-, Space-, Text "this"-, Space-, Text "context"-, Text "."-, ParBreak-, Code-    "test/typ/meta/figure-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "table"))-              [ KeyValArg (Identifier "columns") (Literal (Int 2))-              , BlockArg [ Text "a" ]-              , BlockArg [ Text "b" ]-              ])-       , KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ Text "The"-                 , Space-                 , Text "basic"-                 , Space-                 , Text "table"-                 , Text "."-                 ]))-       ])-, Space-, Code-    "test/typ/meta/figure-00.typ"-    ( line 11 , column 3 )-    (Label "tab-basic")-, ParBreak-, Code-    "test/typ/meta/figure-00.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "pad"))-              [ KeyValArg (Identifier "y") (Negated (Literal (Numeric 6.0 Pt)))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "image"))-                     [ NormalArg (Literal (String "/assets/files/cylinder.svg"))-                     , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))-                     ])-              ])-       , KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ Text "The"-                 , Space-                 , Text "basic"-                 , Space-                 , Text "shapes"-                 , Text "."-                 ]))-       , KeyValArg (Identifier "numbering") (Literal (String "I"))-       ])-, Space-, Code-    "test/typ/meta/figure-00.typ"-    ( line 17 , column 3 )-    (Label "fig-cylinder")-, ParBreak-, Code-    "test/typ/meta/figure-00.typ"-    ( line 19 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "table"))-              [ KeyValArg (Identifier "columns") (Literal (Int 3))-              , BlockArg [ Text "a" ]-              , BlockArg [ Text "b" ]-              , BlockArg [ Text "c" ]-              , BlockArg [ Text "d" ]-              , BlockArg [ Text "e" ]-              , BlockArg [ Text "f" ]-              ])-       , KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ Text "The"-                 , Space-                 , Text "complex"-                 , Space-                 , Text "table"-                 , Text "."-                 ]))-       ])-, Space-, Code-    "test/typ/meta/figure-00.typ"-    ( line 22 , column 3 )-    (Label "tab-complex")-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [We can clearly see that ]), -                 ref(supplement: auto, -                     target: <fig-cylinder>), -                 text(body: [ and-]), -                 ref(supplement: auto, -                     target: <tab-complex>), -                 text(body: [ are relevant in this context.]), -                 parbreak(), -                 figure(body: table(children: (text(body: [a]), -                                               text(body: [b])), -                                    columns: 2), -                        caption: text(body: [The basic table.]), -                        numbering: "I"), -                 text(body: [ ]), -                 <tab-basic>, -                 parbreak(), -                 figure(body: pad(body: image(height: 2.0cm, -                                              path: "/assets/files/cylinder.svg"), -                                  y: -6.0pt), -                        caption: text(body: [The basic shapes.]), -                        numbering: "I"), -                 text(body: [ ]), -                 <fig-cylinder>, -                 parbreak(), -                 figure(body: table(children: (text(body: [a]), -                                               text(body: [b]), -                                               text(body: [c]), -                                               text(body: [d]), -                                               text(body: [e]), -                                               text(body: [f])), -                                    columns: 3), -                        caption: text(body: [The complex table.]), -                        numbering: "I"), -                 text(body: [ ]), -                 <tab-complex>, -                 parbreak() })
− test/out/meta/figure-01.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/figure-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/figure-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/figure-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, ParBreak-, Comment-, Code-    "test/typ/meta/figure-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "table"))-              [ KeyValArg (Identifier "columns") (Literal (Int 2))-              , NormalArg-                  (Block (Content [ Text "Second" , Space , Text "cylinder" ]))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "image"))-                     [ NormalArg (Literal (String "/assets/files/cylinder.svg")) ])-              ])-       , KeyValArg-           (Identifier "caption")-           (Literal (String "A table containing images."))-       ])-, Space-, Code-    "test/typ/meta/figure-01.typ"-    ( line 11 , column 3 )-    (Label "fig-image-in-table")-, ParBreak-]---- evaluated ----document(body: { parbreak(), -                 figure(body: table(children: (text(body: [Second cylinder]), -                                               image(path: "/assets/files/cylinder.svg")), -                                    columns: 2), -                        caption: "A table containing images."), -                 text(body: [ ]), -                 <fig-image-in-table>, -                 parbreak() })
− test/out/meta/figure-02.out
@@ -1,291 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/figure-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/figure-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/figure-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, ParBreak-, Comment-, Code-    "test/typ/meta/figure-02.typ"-    ( line 4 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "figure")))-             [ KeyValArg (Identifier "kind") (Literal (String "theorem")) ]))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (CodeBlock-                [ Let (BasicBind (Just (Identifier "name"))) (Literal None)-                , If-                    [ ( Not-                          (Equals-                             (FieldAccess-                                (Ident (Identifier "caption")) (Ident (Identifier "it")))-                             (Literal None))-                      , Block-                          (CodeBlock-                             [ Assign-                                 (Ident (Identifier "name"))-                                 (Block-                                    (Content-                                       [ Space-                                       , Code-                                           "test/typ/meta/figure-02.typ"-                                           ( line 7 , column 15 )-                                           (FuncCall-                                              (Ident (Identifier "emph"))-                                              [ NormalArg-                                                  (FieldAccess-                                                     (Ident (Identifier "caption"))-                                                     (Ident (Identifier "it")))-                                              ])-                                       ]))-                             ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (CodeBlock-                             [ Assign (Ident (Identifier "name")) (Block (Content [])) ])-                      )-                    ]-                , Let (BasicBind (Just (Identifier "title"))) (Literal None)-                , If-                    [ ( Not-                          (Equals-                             (FieldAccess-                                (Ident (Identifier "numbering")) (Ident (Identifier "it")))-                             (Literal None))-                      , Block-                          (CodeBlock-                             [ Assign-                                 (Ident (Identifier "title"))-                                 (FieldAccess-                                    (Ident (Identifier "supplement")) (Ident (Identifier "it")))-                             , If-                                 [ ( Not-                                       (Equals-                                          (FieldAccess-                                             (Ident (Identifier "numbering"))-                                             (Ident (Identifier "it")))-                                          (Literal None))-                                   , Block-                                       (CodeBlock-                                          [ Assign-                                              (Ident (Identifier "title"))-                                              (Plus-                                                 (Ident (Identifier "title"))-                                                 (Plus-                                                    (Literal (String " "))-                                                    (FuncCall-                                                       (FieldAccess-                                                          (Ident (Identifier "display"))-                                                          (FieldAccess-                                                             (Ident (Identifier "counter"))-                                                             (Ident (Identifier "it"))))-                                                       [ NormalArg-                                                           (FieldAccess-                                                              (Ident (Identifier "numbering"))-                                                              (Ident (Identifier "it")))-                                                       ])))-                                          ])-                                   )-                                 ]-                             ])-                      )-                    ]-                , Assign-                    (Ident (Identifier "title"))-                    (FuncCall-                       (Ident (Identifier "strong"))-                       [ NormalArg (Ident (Identifier "title")) ])-                , FuncCall-                    (Ident (Identifier "pad"))-                    [ KeyValArg (Identifier "top") (Literal (Numeric 0.0 Em))-                    , KeyValArg (Identifier "bottom") (Literal (Numeric 0.0 Em))-                    , NormalArg-                        (FuncCall-                           (Ident (Identifier "block"))-                           [ KeyValArg-                               (Identifier "fill")-                               (FuncCall-                                  (FieldAccess-                                     (Ident (Identifier "lighten")) (Ident (Identifier "green")))-                                  [ NormalArg (Literal (Numeric 90.0 Percent)) ])-                           , KeyValArg-                               (Identifier "stroke")-                               (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "green")))-                           , KeyValArg (Identifier "inset") (Literal (Numeric 10.0 Pt))-                           , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-                           , KeyValArg (Identifier "radius") (Literal (Numeric 5.0 Pt))-                           , KeyValArg (Identifier "breakable") (Literal (Boolean False))-                           , NormalArg-                               (Block-                                  (Content-                                     [ Code-                                         "test/typ/meta/figure-02.typ"-                                         ( line 29 , column 9 )-                                         (Ident (Identifier "title"))-                                     , Code-                                         "test/typ/meta/figure-02.typ"-                                         ( line 29 , column 15 )-                                         (Ident (Identifier "name"))-                                     , Code-                                         "test/typ/meta/figure-02.typ"-                                         ( line 29 , column 20 )-                                         (FuncCall-                                            (Ident (Identifier "h"))-                                            [ NormalArg (Literal (Numeric 0.1 Em)) ])-                                     , Text ":"-                                     , Code-                                         "test/typ/meta/figure-02.typ"-                                         ( line 29 , column 30 )-                                         (FuncCall-                                            (Ident (Identifier "h"))-                                            [ NormalArg (Literal (Numeric 0.2 Em)) ])-                                     , Code-                                         "test/typ/meta/figure-02.typ"-                                         ( line 29 , column 39 )-                                         (FieldAccess-                                            (Ident (Identifier "body")) (Ident (Identifier "it")))-                                     , Code-                                         "test/typ/meta/figure-02.typ"-                                         ( line 29 , column 47 )-                                         (FuncCall-                                            (Ident (Identifier "v"))-                                            [ NormalArg (Literal (Numeric 0.5 Em)) ])-                                     ]))-                           ])-                    ]-                ]))))-, ParBreak-, Code-    "test/typ/meta/figure-02.typ"-    ( line 34 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 150.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/meta/figure-02.typ"-    ( line 35 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (Block-              (Content-                 [ Equation-                     False-                     [ MAttach Nothing (Just (Text "2")) (Text "a")-                     , Text "+"-                     , MAttach Nothing (Just (Text "2")) (Text "b")-                     , Text "="-                     , MAttach Nothing (Just (Text "2")) (Text "c")-                     ]-                 ]))-       , KeyValArg (Identifier "supplement") (Literal (String "Theorem"))-       , KeyValArg (Identifier "kind") (Literal (String "theorem"))-       , KeyValArg-           (Identifier "caption") (Literal (String "Pythagoras' theorem."))-       , KeyValArg (Identifier "numbering") (Literal (String "1"))-       ])-, Space-, Code-    "test/typ/meta/figure-02.typ"-    ( line 41 , column 3 )-    (Label "fig-formula")-, ParBreak-, Code-    "test/typ/meta/figure-02.typ"-    ( line 43 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (Block-              (Content-                 [ Equation-                     False-                     [ MAttach Nothing (Just (Text "2")) (Text "a")-                     , Text "+"-                     , MAttach Nothing (Just (Text "2")) (Text "b")-                     , Text "="-                     , MAttach Nothing (Just (Text "2")) (Text "c")-                     ]-                 ]))-       , KeyValArg (Identifier "supplement") (Literal (String "Theorem"))-       , KeyValArg (Identifier "kind") (Literal (String "theorem"))-       , KeyValArg-           (Identifier "caption")-           (Literal (String "Another Pythagoras' theorem."))-       , KeyValArg (Identifier "numbering") (Literal None)-       ])-, Space-, Code-    "test/typ/meta/figure-02.typ"-    ( line 49 , column 3 )-    (Label "fig-formula")-, ParBreak-, Code-    "test/typ/meta/figure-02.typ"-    ( line 51 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (Block-              (Content-                 [ RawBlock "rust" "fn main() {\n    println!(\"Hello!\");\n  }\n  "-                 ]))-       , KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ Text "Hello"-                 , Space-                 , Text "world"-                 , Space-                 , Text "in"-                 , Space-                 , Emph [ Text "rust" ]-                 ]))-       ])-, ParBreak-]-"test/typ/meta/figure-02.typ" (line 35, column 2):-Content does not have a method "counter" or FieldAccess requires a dictionary
− test/out/meta/figure-03.out
@@ -1,91 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/figure-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/figure-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/figure-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/figure-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 6.0 Em)) ])-, SoftBreak-, Code-    "test/typ/meta/figure-03.typ"-    ( line 4 , column 2 )-    (Show-       (Just (Ident (Identifier "figure")))-       (Set-          (Ident (Identifier "block"))-          [ KeyValArg (Identifier "breakable") (Literal (Boolean True)) ]))-, ParBreak-, Code-    "test/typ/meta/figure-03.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "table"))-              [ BlockArg [ Text "a" ]-              , BlockArg [ Text "b" ]-              , BlockArg [ Text "c" ]-              , BlockArg [ Text "d" ]-              , BlockArg [ Text "e" ]-              ])-       , KeyValArg-           (Identifier "caption")-           (Block (Content [ Text "A" , Space , Text "table" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 figure(body: table(children: (text(body: [a]), -                                               text(body: [b]), -                                               text(body: [c]), -                                               text(body: [d]), -                                               text(body: [e]))), -                        caption: text(body: [A table])), -                 parbreak() })
− test/out/meta/footnote-00.out
@@ -1,53 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/footnote-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/footnote-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/footnote-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/footnote-00.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "footnote")) [ BlockArg [ Text "Hi" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 footnote(body: text(body: [Hi])), -                 parbreak() })
− test/out/meta/footnote-01.out
@@ -1,69 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/footnote-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/footnote-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/footnote-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Code-    "test/typ/meta/footnote-01.typ"-    ( line 3 , column 3 )-    (FuncCall-       (Ident (Identifier "footnote")) [ BlockArg [ Text "A" ] ])-, Space-, HardBreak-, Text "A"-, Space-, Code-    "test/typ/meta/footnote-01.typ"-    ( line 4 , column 4 )-    (FuncCall-       (Ident (Identifier "footnote")) [ BlockArg [ Text "A" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A]), -                 footnote(body: text(body: [A])), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [A ]), -                 footnote(body: text(body: [A])), -                 parbreak() })
− test/out/meta/footnote-02.out
@@ -1,114 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/footnote-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/footnote-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/footnote-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "First"-, Space-, HardBreak-, Text "Second"-, Space-, Code-    "test/typ/meta/footnote-02.typ"-    ( line 4 , column 9 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg-           [ Text "A,"-           , Space-           , Code-               "test/typ/meta/footnote-02.typ"-               ( line 4 , column 22 )-               (FuncCall-                  (Ident (Identifier "footnote"))-                  [ BlockArg-                      [ Text "B,"-                      , Space-                      , Code-                          "test/typ/meta/footnote-02.typ"-                          ( line 4 , column 35 )-                          (FuncCall-                             (Ident (Identifier "footnote")) [ BlockArg [ Text "C" ] ])-                      ]-                  ])-           ]-       ])-, Space-, HardBreak-, Text "Third"-, Space-, Code-    "test/typ/meta/footnote-02.typ"-    ( line 5 , column 8 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg-           [ Text "D,"-           , Space-           , Code-               "test/typ/meta/footnote-02.typ"-               ( line 5 , column 21 )-               (FuncCall-                  (Ident (Identifier "footnote")) [ BlockArg [ Text "E" ] ])-           ]-       ])-, Space-, HardBreak-, Text "Fourth"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [First ]), -                 linebreak(), -                 text(body: [Second ]), -                 footnote(body: { text(body: [A, ]), -                                  footnote(body: { text(body: [B, ]), -                                                   footnote(body: text(body: [C])) }) }), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [Third ]), -                 footnote(body: { text(body: [D, ]), -                                  footnote(body: text(body: [E])) }), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [Fourth]), -                 parbreak() })
− test/out/meta/footnote-03.out
@@ -1,75 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/footnote-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/footnote-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/footnote-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/meta/footnote-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg-           [ Text "A,"-           , Space-           , Code-               "test/typ/meta/footnote-03.typ"-               ( line 4 , column 15 )-               (FuncCall-                  (Ident (Identifier "footnote")) [ BlockArg [ Text "B" ] ])-           ]-       ])-, Text ","-, Space-, Code-    "test/typ/meta/footnote-03.typ"-    ( line 4 , column 30 )-    (FuncCall-       (Ident (Identifier "footnote")) [ BlockArg [ Text "C" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 footnote(body: { text(body: [A, ]), -                                  footnote(body: text(body: [B])) }), -                 text(body: [, ]), -                 footnote(body: text(body: [C])), -                 parbreak() })
− test/out/meta/footnote-04.out
@@ -1,111 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/footnote-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/footnote-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/footnote-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/footnote-04.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "footnote")))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Ident (Identifier "red")) ]))-, SoftBreak-, Code-    "test/typ/meta/footnote-04.typ"-    ( line 4 , column 2 )-    (Show-       (Just-          (FieldAccess-             (Ident (Identifier "entry")) (Ident (Identifier "footnote"))))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Literal (Numeric 8.0 Pt))-          , KeyValArg (Identifier "style") (Literal (String "italic"))-          ]))-, SoftBreak-, Code-    "test/typ/meta/footnote-04.typ"-    ( line 5 , column 2 )-    (Set-       (FieldAccess-          (Ident (Identifier "entry")) (Ident (Identifier "footnote")))-       [ KeyValArg (Identifier "indent") (Literal (Numeric 0.0 Pt))-       , KeyValArg (Identifier "gap") (Literal (Numeric 0.6 Em))-       , KeyValArg (Identifier "clearance") (Literal (Numeric 0.3 Em))-       , KeyValArg-           (Identifier "separator")-           (FuncCall (Ident (Identifier "repeat")) [ BlockArg [ Text "." ] ])-       ])-, ParBreak-, Text "Beautiful"-, Space-, Text "footnotes"-, Text "."-, Space-, Code-    "test/typ/meta/footnote-04.typ"-    ( line 12 , column 23 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg-           [ Text "Wonderful,"-           , Space-           , Text "aren"-           , Quote '\''-           , Text "t"-           , Space-           , Text "they?"-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [Beautiful footnotes. ]), -                 footnote(body: text(body: [Wonderful, aren’t they?])), -                 parbreak() })
− test/out/meta/footnote-break-00.out
@@ -1,202 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/footnote-break-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/footnote-break-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/footnote-break-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/footnote-break-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 200.0 Pt)) ])-, ParBreak-, Code-    "test/typ/meta/footnote-break-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 5)) ])-, SoftBreak-, Code-    "test/typ/meta/footnote-break-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg-           [ Space-           , Comment-           , Space-           , Text "A"-           , Space-           , Text "simple"-           , Space-           , Text "footnote"-           , Text "."-           , SoftBreak-           , Code-               "test/typ/meta/footnote-break-00.typ"-               ( line 7 , column 4 )-               (FuncCall-                  (Ident (Identifier "footnote"))-                  [ BlockArg-                      [ Text "Well,"-                      , Space-                      , Text "not"-                      , Space-                      , Text "that"-                      , Space-                      , Text "simple"-                      , Space-                      , Ellipsis-                      ]-                  ])-           , Space-           , Comment-           ]-       ])-, SoftBreak-, Code-    "test/typ/meta/footnote-break-00.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 15)) ])-, SoftBreak-, Code-    "test/typ/meta/footnote-break-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg-           [ Text "Another"-           , Space-           , Text "footnote"-           , Text ":"-           , Space-           , Code-               "test/typ/meta/footnote-break-00.typ"-               ( line 10 , column 30 )-               (FuncCall-                  (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 30)) ])-           ]-       ])-, Space-, Comment-, Code-    "test/typ/meta/footnote-break-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 15)) ])-, SoftBreak-, Code-    "test/typ/meta/footnote-break-00.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg-           [ Text "My"-           , Space-           , Text "fourth"-           , Space-           , Text "footnote"-           , Text ":"-           , Space-           , Code-               "test/typ/meta/footnote-break-00.typ"-               ( line 12 , column 32 )-               (FuncCall-                  (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 50)) ])-           ]-       ])-, Space-, Comment-, Code-    "test/typ/meta/footnote-break-00.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 15)) ])-, SoftBreak-, Code-    "test/typ/meta/footnote-break-00.typ"-    ( line 14 , column 2 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg-           [ Text "And"-           , Space-           , Text "a"-           , Space-           , Text "final"-           , Space-           , Text "footnote"-           , Text "."-           ]-       ])-, Space-, Comment-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Lorem ipsum dolor sit amet,]), -                 text(body: [-]), -                 footnote(body: { text(body: [ ]), -                                  text(body: [ A simple footnote.-]), -                                  footnote(body: text(body: [Well, not that simple …])), -                                  text(body: [ ]) }), -                 text(body: [-]), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore]), -                 text(body: [-]), -                 footnote(body: { text(body: [Another footnote: ]), -                                  text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi]) }), -                 text(body: [ ]), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore]), -                 text(body: [-]), -                 footnote(body: { text(body: [My fourth footnote: ]), -                                  text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat]) }), -                 text(body: [ ]), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore]), -                 text(body: [-]), -                 footnote(body: text(body: [And a final footnote.])), -                 text(body: [ ]) })
− test/out/meta/footnote-container-00.out
@@ -1,157 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/footnote-container-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/footnote-container-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/footnote-container-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Read"-, Space-, Text "the"-, Space-, Text "docs"-, Space-, Code-    "test/typ/meta/footnote-container-00.typ"-    ( line 3 , column 16 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg [ Url "https://typst.app/docs" ] ])-, Text "!"-, SoftBreak-, Code-    "test/typ/meta/footnote-container-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/graph.png"))-              , KeyValArg (Identifier "width") (Literal (Numeric 70.0 Percent))-              ])-       , KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ SoftBreak-                 , Text "A"-                 , Space-                 , Text "graph"-                 , Space-                 , Code-                     "test/typ/meta/footnote-container-00.typ"-                     ( line 7 , column 14 )-                     (FuncCall-                        (Ident (Identifier "footnote"))-                        [ BlockArg-                            [ Text "A"-                            , Space-                            , Emph [ Text "graph" ]-                            , Space-                            , Text "is"-                            , Space-                            , Text "a"-                            , Space-                            , Text "structure"-                            , Space-                            , Text "with"-                            , Space-                            , Text "nodes"-                            , Space-                            , Text "and"-                            , Space-                            , Text "edges"-                            , Text "."-                            ]-                        ])-                 , ParBreak-                 ]))-       ])-, SoftBreak-, Text "More"-, Space-, Code-    "test/typ/meta/footnote-container-00.typ"-    ( line 10 , column 7 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg [ Text "just" , Space , Text "for" , Space , Ellipsis ]-       ])-, Space-, Text "footnotes"-, Space-, Code-    "test/typ/meta/footnote-container-00.typ"-    ( line 10 , column 41 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ BlockArg-           [ Ellipsis-           , Space-           , Text "testing"-           , Text "."-           , Space-           , Text ":"-           , Text ")"-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Read the docs ]), -                 footnote(body: link(body: [https://typst.app/docs], -                                     dest: "https://typst.app/docs")), -                 text(body: [!-]), -                 figure(body: image(path: "/assets/files/graph.png", -                                    width: 70%), -                        caption: { text(body: [-A graph ]), -                                   footnote(body: { text(body: [A ]), -                                                    emph(body: text(body: [graph])), -                                                    text(body: [ is a structure with nodes and edges.]) }), -                                   parbreak() }), -                 text(body: [-More ]), -                 footnote(body: text(body: [just for …])), -                 text(body: [ footnotes ]), -                 footnote(body: text(body: [… testing. :)])), -                 parbreak() })
− test/out/meta/footnote-container-01.out
@@ -1,202 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/footnote-container-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/footnote-container-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/footnote-container-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/footnote-container-01.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "lang")))-       (FuncCall-          (Ident (Identifier "footnote"))-          [ BlockArg [ Text "Languages" , Text "." ] ]))-, SoftBreak-, Code-    "test/typ/meta/footnote-container-01.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "nums")))-       (FuncCall-          (Ident (Identifier "footnote"))-          [ BlockArg [ Text "Numbers" , Text "." ] ]))-, ParBreak-, DescListItem-    [ Quote '"' , Text "Hello" , Quote '"' ]-    [ Text "A"-    , Space-    , Text "word"-    , Space-    , Code-        "test/typ/meta/footnote-container-01.typ"-        ( line 6 , column 20 )-        (Ident (Identifier "lang"))-    ]-, SoftBreak-, DescListItem-    [ Quote '"' , Text "123" , Quote '"' ]-    [ Text "A"-    , Space-    , Text "number"-    , Space-    , Code-        "test/typ/meta/footnote-container-01.typ"-        ( line 7 , column 20 )-        (Ident (Identifier "nums"))-    , SoftBreak-    ]-, SoftBreak-, BulletListItem-    [ Quote '"'-    , Text "Hello"-    , Quote '"'-    , Space-    , Code-        "test/typ/meta/footnote-container-01.typ"-        ( line 9 , column 12 )-        (Ident (Identifier "lang"))-    ]-, SoftBreak-, BulletListItem-    [ Quote '"'-    , Text "123"-    , Quote '"'-    , Space-    , Code-        "test/typ/meta/footnote-container-01.typ"-        ( line 10 , column 10 )-        (Ident (Identifier "nums"))-    , SoftBreak-    ]-, SoftBreak-, EnumListItem-    Nothing-    [ Quote '"'-    , Text "Hello"-    , Quote '"'-    , Space-    , Code-        "test/typ/meta/footnote-container-01.typ"-        ( line 12 , column 12 )-        (Ident (Identifier "lang"))-    ]-, SoftBreak-, EnumListItem-    Nothing-    [ Quote '"'-    , Text "123"-    , Quote '"'-    , Space-    , Code-        "test/typ/meta/footnote-container-01.typ"-        ( line 13 , column 10 )-        (Ident (Identifier "nums"))-    , SoftBreak-    ]-, SoftBreak-, Code-    "test/typ/meta/footnote-container-01.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg (Identifier "columns") (Literal (Int 2))-       , NormalArg (Block (Content [ Text "Hello" ]))-       , NormalArg-           (Block-              (Content-                 [ Text "A"-                 , Space-                 , Text "word"-                 , Space-                 , Code-                     "test/typ/meta/footnote-container-01.typ"-                     ( line 17 , column 21 )-                     (Ident (Identifier "lang"))-                 ]))-       , NormalArg (Block (Content [ Text "123" ]))-       , NormalArg-           (Block-              (Content-                 [ Text "A"-                 , Space-                 , Text "number"-                 , Space-                 , Code-                     "test/typ/meta/footnote-container-01.typ"-                     ( line 18 , column 21 )-                     (Ident (Identifier "nums"))-                 ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 terms(children: ((text(body: [“Hello”]), -                                   { text(body: [A word ]), -                                     footnote(body: text(body: [Languages.])) }), -                                  (text(body: [“123”]), -                                   { text(body: [A number ]), -                                     footnote(body: text(body: [Numbers.])), -                                     text(body: [-]) }))), -                 list(children: ({ text(body: [“Hello” ]), -                                   footnote(body: text(body: [Languages.])) }, -                                 { text(body: [“123” ]), -                                   footnote(body: text(body: [Numbers.])), -                                   text(body: [-]) })), -                 enum(children: ({ text(body: [“Hello” ]), -                                   footnote(body: text(body: [Languages.])) }, -                                 { text(body: [“123” ]), -                                   footnote(body: text(body: [Numbers.])), -                                   text(body: [-]) })), -                 table(children: (text(body: [Hello]), -                                  { text(body: [A word ]), -                                    footnote(body: text(body: [Languages.])) }, -                                  text(body: [123]), -                                  { text(body: [A number ]), -                                    footnote(body: text(body: [Numbers.])) }), -                       columns: 2), -                 parbreak() })
− test/out/meta/footnote-invariant-00.out
@@ -1,76 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/footnote-invariant-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/footnote-invariant-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/footnote-invariant-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/footnote-invariant-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 120.0 Pt)) ])-, ParBreak-, Code-    "test/typ/meta/footnote-invariant-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 13)) ])-, ParBreak-, Text "There"-, Space-, Code-    "test/typ/meta/footnote-invariant-00.typ"-    ( line 6 , column 8 )-    (FuncCall-       (Ident (Identifier "footnote"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt]), -                 parbreak(), -                 text(body: [There ]), -                 footnote(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut]), -                 parbreak() })
− test/out/meta/heading-00.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/heading-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/heading-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/heading-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Heading 1 [ Text "Level" , Space , Text "1" ]-, Heading 2 [ Text "Level" , Space , Text "2" ]-, Heading 3 [ Text "Level" , Space , Text "3" ]-, Comment-, Heading 11 [ Text "Level" , Space , Text "11" ]-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 heading(body: text(body: [Level 1]), -                         level: 1), -                 heading(body: text(body: [Level 2]), -                         level: 2), -                 heading(body: text(body: [Level 3]), -                         level: 3), -                 heading(body: text(body: [Level 11]), -                         level: 11) })
− test/out/meta/heading-01.out
@@ -1,97 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/heading-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/heading-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/heading-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Comment-, Space-, Text "="-, Space-, Text "Level"-, Space-, Text "1"-, SoftBreak-, Code-    "test/typ/meta/heading-01.typ"-    ( line 6 , column 2 )-    (Block (Content [ Heading 2 [ Text "Level" , Space , Text "2" ] ]))-, SoftBreak-, Code-    "test/typ/meta/heading-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ BlockArg [ Heading 3 [ Text "Level" , Space , Text "3" ] ] ])-, ParBreak-, Comment-, Text "No"-, Space-, Text "="-, Space-, Text "heading"-, ParBreak-, Comment-, Text "="-, Space-, Text "No"-, Space-, Text "heading"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [ = Level 1-]), -                 heading(body: text(body: [Level 2]), -                         level: 2), -                 text(body: [-]), -                 box(body: heading(body: text(body: [Level 3]), -                                   level: 3)), -                 parbreak(), -                 text(body: [No = heading]), -                 parbreak(), -                 text(body: [= No heading]), -                 parbreak() })
− test/out/meta/heading-02.out
@@ -1,80 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/heading-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/heading-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/heading-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Heading-    1-    [ Code-        "test/typ/meta/heading-02.typ"-        ( line 4 , column 4 )-        (Block-           (Content-              [ Text "This"-              , SoftBreak-              , Text "is"-              , SoftBreak-              , Text "multiline"-              , Text "."-              , ParBreak-              ]))-    ]-, Heading 1 [ Text "This" ]-, Text "is"-, Space-, Text "not"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 heading(body: { text(body: [This-is-multiline.]), -                                 parbreak() }, -                         level: 1), -                 heading(body: text(body: [This]), -                         level: 1), -                 text(body: [is not.]), -                 parbreak() })
− test/out/meta/heading-03.out
@@ -1,94 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/heading-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/heading-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/heading-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/heading-03.typ"-    ( line 3 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "heading")))-             [ KeyValArg (Identifier "level") (Literal (Int 5)) ]))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (FuncCall-             (Ident (Identifier "block"))-             [ NormalArg-                 (FuncCall-                    (Ident (Identifier "text"))-                    [ KeyValArg (Identifier "font") (Literal (String "Roboto"))-                    , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-                    , NormalArg-                        (Plus-                           (FieldAccess (Ident (Identifier "body")) (Ident (Identifier "it")))-                           (Block (Content [ Text "!" ])))-                    ])-             ])))-, ParBreak-, Heading 1 [ Text "Heading" ]-, Heading 5 [ Text "Heading" , Space , Text "\127757" ]-, Code-    "test/typ/meta/heading-03.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "level") (Literal (Int 5))-       , BlockArg [ Text "Heading" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [Heading]), -                         level: 1), -                 block(body: text(body: { text(body: [Heading 🌍]), -                                          text(body: [!]) }, -                                  fill: rgb(13%,61%,67%,100%), -                                  font: "Roboto")), -                 block(body: text(body: { text(body: [Heading]), -                                          text(body: [!]) }, -                                  fill: rgb(13%,61%,67%,100%), -                                  font: "Roboto")), -                 parbreak() })
− test/out/meta/heading-04.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/heading-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/heading-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/heading-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/heading-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "numbering") (Literal (String "1.")) ])-, SoftBreak-, Heading 1 []-, Text "Not"-, Space-, Text "in"-, Space-, Text "heading"-, SoftBreak-, Text "="-, Text "Nope"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 heading(body: {  }, -                         level: 1, -                         numbering: "1."), -                 text(body: [Not in heading-=Nope]), -                 parbreak() })
@@ -1,141 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/link-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/link-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/link-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Url "https://example.com/"-, ParBreak-, Comment-, Code-    "test/typ/meta/link-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "link"))-       [ NormalArg (Literal (String "https://typst.org/"))-       , BlockArg-           [ Text "Some"-           , Space-           , Text "text"-           , Space-           , Text "text"-           , Space-           , Text "text"-           ]-       ])-, ParBreak-, Comment-, Text "This"-, Space-, Text "link"-, Space-, Text "appears"-, Space-, Code-    "test/typ/meta/link-00.typ"-    ( line 9 , column 20 )-    (FuncCall-       (Ident (Identifier "link"))-       [ NormalArg (Literal (String "https://google.com/"))-       , BlockArg-           [ Text "in"-           , Space-           , Text "the"-           , Space-           , Text "middle"-           , Space-           , Text "of"-           ]-       ])-, Space-, Text "a"-, Space-, Text "paragraph"-, Text "."-, ParBreak-, Comment-, Text "Contact"-, Space-, Code-    "test/typ/meta/link-00.typ"-    ( line 12 , column 10 )-    (FuncCall-       (Ident (Identifier "link"))-       [ NormalArg (Literal (String "mailto:hi@typst.app")) ])-, Space-, Text "or"-, SoftBreak-, Text "call"-, Space-, Code-    "test/typ/meta/link-00.typ"-    ( line 13 , column 7 )-    (FuncCall-       (Ident (Identifier "link"))-       [ NormalArg (Literal (String "tel:123")) ])-, Space-, Text "for"-, Space-, Text "more"-, Space-, Text "information"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 link(body: [https://example.com/], -                      dest: "https://example.com/"), -                 parbreak(), -                 link(body: text(body: [Some text text text]), -                      dest: "https://typst.org/"), -                 parbreak(), -                 text(body: [This link appears ]), -                 link(body: text(body: [in the middle of]), -                      dest: "https://google.com/"), -                 text(body: [ a paragraph.]), -                 parbreak(), -                 text(body: [Contact ]), -                 link(dest: "mailto:hi@typst.app"), -                 text(body: [ or-call ]), -                 link(dest: "tel:123"), -                 text(body: [ for more information.]), -                 parbreak() })
@@ -1,81 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/link-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/link-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/link-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/link-01.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "link")))-       (Ident (Identifier "underline")))-, SoftBreak-, Url "https://a.b.?q=%10#."-, Space-, HardBreak-, Text "Wahttp"-, Text ":"-, Comment-, Text "Nohttps"-, Text ":"-, Text "/"-, Text "/"-, Text "link"-, Space-, HardBreak-, Text "Nohttp"-, Text ":"-, Comment-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 underline(body: link(body: [https://a.b.?q=%10#.], -                                      dest: "https://a.b.?q=%10#.")), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [Wahttp:]), -                 text(body: [Nohttps://link ]), -                 linebreak(), -                 text(body: [Nohttp:]), -                 parbreak() })
@@ -1,69 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/link-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/link-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/link-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Url "https://[::1]:8080/"-, Space-, HardBreak-, Url "https://example.com/(paren)"-, Space-, HardBreak-, Url "https://example.com/#(((nested)))"-, Space-, HardBreak-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 link(body: [https://[::1]:8080/], -                      dest: "https://[::1]:8080/"), -                 text(body: [ ]), -                 linebreak(), -                 link(body: [https://example.com/(paren)], -                      dest: "https://example.com/(paren)"), -                 text(body: [ ]), -                 linebreak(), -                 link(body: [https://example.com/#(((nested)))], -                      dest: "https://example.com/#(((nested)))"), -                 text(body: [ ]), -                 linebreak(), -                 parbreak() })
@@ -1,63 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/link-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/link-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/link-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/link-03.typ"-    ( line 3 , column 2 )-    (Block (Content [ Url "https://example.com/" ]))-, Space-, HardBreak-, Url "https://example.com/"-, Text ")"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 link(body: [https://example.com/], -                      dest: "https://example.com/"), -                 text(body: [ ]), -                 linebreak(), -                 link(body: [https://example.com/], -                      dest: "https://example.com/"), -                 text(body: [)]), -                 parbreak() })
@@ -1,2 +0,0 @@---- skipped ----
@@ -1,104 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/link-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/link-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/link-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/link-05.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "link")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (FuncCall-             (Ident (Identifier "underline"))-             [ NormalArg-                 (FuncCall-                    (Ident (Identifier "text"))-                    [ KeyValArg-                        (Identifier "fill")-                        (FuncCall-                           (Ident (Identifier "rgb"))-                           [ NormalArg (Literal (String "283663")) ])-                    , NormalArg (Ident (Identifier "it"))-                    ])-             ])))-, SoftBreak-, Text "You"-, Space-, Text "could"-, Space-, Text "also"-, Space-, Text "make"-, Space-, Text "the"-, SoftBreak-, Code-    "test/typ/meta/link-05.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "link"))-       [ NormalArg (Literal (String "https://html5zombo.com/"))-       , BlockArg-           [ Text "link"-           , Space-           , Text "look"-           , Space-           , Text "way"-           , Space-           , Text "more"-           , Space-           , Text "typical"-           , Text "."-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-You could also make the-]), -                 underline(body: text(body: link(body: text(body: [link look way more typical.]), -                                                 dest: "https://html5zombo.com/"), -                                      fill: rgb(15%,21%,38%,100%))), -                 parbreak() })
@@ -1,103 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/link-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/link-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/link-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/link-06.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/meta/link-06.typ"-    ( line 4 , column 2 )-    (Let-       (BasicBind (Just (Identifier "mylink")))-       (FuncCall-          (Ident (Identifier "link"))-          [ NormalArg (Literal (String "https://typst.org/"))-          , BlockArg [ Text "LINK" ]-          ]))-, SoftBreak-, Text "My"-, Space-, Text "cool"-, Space-, Code-    "test/typ/meta/link-06.typ"-    ( line 5 , column 10 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "move"))-              [ KeyValArg (Identifier "dx") (Literal (Numeric 0.7 Cm))-              , KeyValArg (Identifier "dy") (Literal (Numeric 0.7 Cm))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rotate"))-                     [ NormalArg (Literal (Numeric 10.0 Deg))-                     , NormalArg-                         (FuncCall-                            (Ident (Identifier "scale"))-                            [ NormalArg (Literal (Numeric 200.0 Percent))-                            , NormalArg (Ident (Identifier "mylink"))-                            ])-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-My cool ]), -                 box(body: move(body: rotate(angle: 10.0deg, -                                             body: scale(body: link(body: text(body: [LINK]), -                                                                    dest: "https://typst.org/"), -                                                         factor: 200%)), -                                dx: 0.7cm, -                                dy: 0.7cm)), -                 parbreak() })
@@ -1,94 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/link-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/link-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/link-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/link-07.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "link"))-       [ NormalArg (Literal (String "https://example.com/"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "block"))-              [ BlockArg-                  [ SoftBreak-                  , Text "My"-                  , Space-                  , Text "cool"-                  , Space-                  , Text "rhino"-                  , SoftBreak-                  , Code-                      "test/typ/meta/link-07.typ"-                      ( line 5 , column 4 )-                      (FuncCall-                         (Ident (Identifier "box"))-                         [ NormalArg-                             (FuncCall-                                (Ident (Identifier "move"))-                                [ KeyValArg (Identifier "dx") (Literal (Numeric 10.0 Pt))-                                , NormalArg-                                    (FuncCall-                                       (Ident (Identifier "image"))-                                       [ NormalArg (Literal (String "/assets/files/rhino.png"))-                                       , KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))-                                       ])-                                ])-                         ])-                  , ParBreak-                  ]-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 link(body: block(body: { text(body: [-My cool rhino-]), -                                          box(body: move(body: image(path: "/assets/files/rhino.png", -                                                                     width: 1.0cm), -                                                         dx: 10.0pt)), -                                          parbreak() }), -                      dest: "https://example.com/"), -                 parbreak() })
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/link-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/link-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/link-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/meta/link-08.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "link"))-       [ NormalArg-           (Dict-              [ Reg ( Ident (Identifier "page") , Literal (Int 1) )-              , Reg ( Ident (Identifier "x") , Literal (Numeric 10.0 Pt) )-              , Reg ( Ident (Identifier "y") , Literal (Numeric 20.0 Pt) )-              ])-       , BlockArg-           [ Text "Back"-           , Space-           , Text "to"-           , Space-           , Text "the"-           , Space-           , Text "start"-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 link(body: text(body: [Back to the start]), -                      dest: (page: 1,-                             x: 10.0pt,-                             y: 20.0pt)), -                 parbreak() })
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/link-09.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/link-09.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/link-09.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Text"-, Space-, Code-    "test/typ/meta/link-09.typ" ( line 3 , column 6 ) (Label "hey")-, SoftBreak-, Code-    "test/typ/meta/link-09.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "link"))-       [ NormalArg (Label "hey")-       , BlockArg-           [ Text "Go" , Space , Text "to" , Space , Text "text" , Text "." ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Text ]), -                 <hey>, -                 text(body: [-]), -                 link(body: text(body: [Go to text.]), -                      dest: <hey>), -                 parbreak() })
@@ -1,2 +0,0 @@---- skipped ----
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/numbering-00.out
@@ -1,163 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/numbering-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/numbering-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/numbering-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/numbering-00.typ"-    ( line 2 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 9)) ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "*"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block (Content [ Space , Text "and" , Space ])-             , FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "I.a"))-                 , NormalArg (Ident (Identifier "i"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block-                 (Content-                    [ Space-                    , Text "for"-                    , Space-                    , Code-                        "test/typ/meta/numbering-00.typ"-                        ( line 6 , column 10 )-                        (Ident (Identifier "i"))-                    , Space-                    , HardBreak-                    ])-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 numbering(numbering: "*", -                           numbers: (0)), -                 text(body: [ and ]), -                 numbering(numbering: "I.a", -                           numbers: (0, 0)), -                 text(body: [ for ]), -                 text(body: [0]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "*", -                           numbers: (1)), -                 text(body: [ and ]), -                 numbering(numbering: "I.a", -                           numbers: (1, 1)), -                 text(body: [ for ]), -                 text(body: [1]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "*", -                           numbers: (2)), -                 text(body: [ and ]), -                 numbering(numbering: "I.a", -                           numbers: (2, 2)), -                 text(body: [ for ]), -                 text(body: [2]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "*", -                           numbers: (3)), -                 text(body: [ and ]), -                 numbering(numbering: "I.a", -                           numbers: (3, 3)), -                 text(body: [ for ]), -                 text(body: [3]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "*", -                           numbers: (4)), -                 text(body: [ and ]), -                 numbering(numbering: "I.a", -                           numbers: (4, 4)), -                 text(body: [ for ]), -                 text(body: [4]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "*", -                           numbers: (5)), -                 text(body: [ and ]), -                 numbering(numbering: "I.a", -                           numbers: (5, 5)), -                 text(body: [ for ]), -                 text(body: [5]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "*", -                           numbers: (6)), -                 text(body: [ and ]), -                 numbering(numbering: "I.a", -                           numbers: (6, 6)), -                 text(body: [ for ]), -                 text(body: [6]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "*", -                           numbers: (7)), -                 text(body: [ and ]), -                 numbering(numbering: "I.a", -                           numbers: (7, 7)), -                 text(body: [ for ]), -                 text(body: [7]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "*", -                           numbers: (8)), -                 text(body: [ and ]), -                 numbering(numbering: "I.a", -                           numbers: (8, 8)), -                 text(body: [ for ]), -                 text(body: [8]), -                 text(body: [ ]), -                 linebreak(), -                 parbreak() })
− test/out/meta/numbering-01.out
@@ -1,217 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/numbering-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/numbering-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/numbering-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/numbering-01.typ"-    ( line 2 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 4)) ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "A"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block-                 (Content-                    [ Space-                    , Text "for"-                    , Space-                    , Code-                        "test/typ/meta/numbering-01.typ"-                        ( line 4 , column 10 )-                        (Ident (Identifier "i"))-                    , Space-                    , HardBreak-                    ])-             ])))-, SoftBreak-, Ellipsis-, Space-, HardBreak-, Code-    "test/typ/meta/numbering-01.typ"-    ( line 7 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 26)) , NormalArg (Literal (Int 30)) ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "A"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block-                 (Content-                    [ Space-                    , Text "for"-                    , Space-                    , Code-                        "test/typ/meta/numbering-01.typ"-                        ( line 9 , column 10 )-                        (Ident (Identifier "i"))-                    , Space-                    , HardBreak-                    ])-             ])))-, SoftBreak-, Ellipsis-, Space-, HardBreak-, Code-    "test/typ/meta/numbering-01.typ"-    ( line 12 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 702)) , NormalArg (Literal (Int 706)) ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "A"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block-                 (Content-                    [ Space-                    , Text "for"-                    , Space-                    , Code-                        "test/typ/meta/numbering-01.typ"-                        ( line 14 , column 10 )-                        (Ident (Identifier "i"))-                    , Space-                    , HardBreak-                    ])-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 numbering(numbering: "A", -                           numbers: (0)), -                 text(body: [ for ]), -                 text(body: [0]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (1)), -                 text(body: [ for ]), -                 text(body: [1]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (2)), -                 text(body: [ for ]), -                 text(body: [2]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (3)), -                 text(body: [ for ]), -                 text(body: [3]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-… ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (26)), -                 text(body: [ for ]), -                 text(body: [26]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (27)), -                 text(body: [ for ]), -                 text(body: [27]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (28)), -                 text(body: [ for ]), -                 text(body: [28]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (29)), -                 text(body: [ for ]), -                 text(body: [29]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-… ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (702)), -                 text(body: [ for ]), -                 text(body: [702]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (703)), -                 text(body: [ for ]), -                 text(body: [703]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (704)), -                 text(body: [ for ]), -                 text(body: [704]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "A", -                           numbers: (705)), -                 text(body: [ for ]), -                 text(body: [705]), -                 text(body: [ ]), -                 linebreak(), -                 parbreak() })
− test/out/meta/numbering-02.out
@@ -1,129 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/numbering-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/numbering-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/numbering-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/numbering-02.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "he")) ])-, SoftBreak-, Code-    "test/typ/meta/numbering-02.typ"-    ( line 3 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 9))-          , NormalArg (Literal (Int 21))-          , KeyValArg (Identifier "step") (Literal (Int 2))-          ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "\1488."))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block-                 (Content-                    [ Space-                    , Text "\1506\1489\1493\1512"-                    , Space-                    , Code-                        "test/typ/meta/numbering-02.typ"-                        ( line 5 , column 11 )-                        (Ident (Identifier "i"))-                    , Space-                    , HardBreak-                    ])-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], lang: "he"), -                 numbering(numbering: "א.", -                           numbers: (9)), -                 text(body: [ עבור ], -                      lang: "he"), -                 text(body: [9], lang: "he"), -                 text(body: [ ], lang: "he"), -                 linebreak(), -                 numbering(numbering: "א.", -                           numbers: (11)), -                 text(body: [ עבור ], -                      lang: "he"), -                 text(body: [11], lang: "he"), -                 text(body: [ ], lang: "he"), -                 linebreak(), -                 numbering(numbering: "א.", -                           numbers: (13)), -                 text(body: [ עבור ], -                      lang: "he"), -                 text(body: [13], lang: "he"), -                 text(body: [ ], lang: "he"), -                 linebreak(), -                 numbering(numbering: "א.", -                           numbers: (15)), -                 text(body: [ עבור ], -                      lang: "he"), -                 text(body: [15], lang: "he"), -                 text(body: [ ], lang: "he"), -                 linebreak(), -                 numbering(numbering: "א.", -                           numbers: (17)), -                 text(body: [ עבור ], -                      lang: "he"), -                 text(body: [17], lang: "he"), -                 text(body: [ ], lang: "he"), -                 linebreak(), -                 numbering(numbering: "א.", -                           numbers: (19)), -                 text(body: [ עבור ], -                      lang: "he"), -                 text(body: [19], lang: "he"), -                 text(body: [ ], lang: "he"), -                 linebreak(), -                 parbreak() })
− test/out/meta/numbering-03.out
@@ -1,159 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/numbering-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/numbering-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/numbering-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/numbering-03.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "zh")) ])-, SoftBreak-, Code-    "test/typ/meta/numbering-03.typ"-    ( line 3 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 9))-          , NormalArg (Literal (Int 21))-          , KeyValArg (Identifier "step") (Literal (Int 2))-          ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "\19968"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block (Content [ Space , Text "and" , Space ])-             , FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "\22777"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block-                 (Content-                    [ Space-                    , Text "for"-                    , Space-                    , Code-                        "test/typ/meta/numbering-03.typ"-                        ( line 7 , column 10 )-                        (Ident (Identifier "i"))-                    , Space-                    , HardBreak-                    ])-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], lang: "zh"), -                 numbering(numbering: "一", -                           numbers: (9)), -                 text(body: [ and ], -                      lang: "zh"), -                 numbering(numbering: "壹", -                           numbers: (9)), -                 text(body: [ for ], -                      lang: "zh"), -                 text(body: [9], lang: "zh"), -                 text(body: [ ], lang: "zh"), -                 linebreak(), -                 numbering(numbering: "一", -                           numbers: (11)), -                 text(body: [ and ], -                      lang: "zh"), -                 numbering(numbering: "壹", -                           numbers: (11)), -                 text(body: [ for ], -                      lang: "zh"), -                 text(body: [11], lang: "zh"), -                 text(body: [ ], lang: "zh"), -                 linebreak(), -                 numbering(numbering: "一", -                           numbers: (13)), -                 text(body: [ and ], -                      lang: "zh"), -                 numbering(numbering: "壹", -                           numbers: (13)), -                 text(body: [ for ], -                      lang: "zh"), -                 text(body: [13], lang: "zh"), -                 text(body: [ ], lang: "zh"), -                 linebreak(), -                 numbering(numbering: "一", -                           numbers: (15)), -                 text(body: [ and ], -                      lang: "zh"), -                 numbering(numbering: "壹", -                           numbers: (15)), -                 text(body: [ for ], -                      lang: "zh"), -                 text(body: [15], lang: "zh"), -                 text(body: [ ], lang: "zh"), -                 linebreak(), -                 numbering(numbering: "一", -                           numbers: (17)), -                 text(body: [ and ], -                      lang: "zh"), -                 numbering(numbering: "壹", -                           numbers: (17)), -                 text(body: [ for ], -                      lang: "zh"), -                 text(body: [17], lang: "zh"), -                 text(body: [ ], lang: "zh"), -                 linebreak(), -                 numbering(numbering: "一", -                           numbers: (19)), -                 text(body: [ and ], -                      lang: "zh"), -                 numbering(numbering: "壹", -                           numbers: (19)), -                 text(body: [ for ], -                      lang: "zh"), -                 text(body: [19], lang: "zh"), -                 text(body: [ ], lang: "zh"), -                 linebreak(), -                 parbreak() })
− test/out/meta/numbering-04.out
@@ -1,257 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/numbering-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/numbering-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/numbering-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/numbering-04.typ"-    ( line 2 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 4)) ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "\12452"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block (Content [ Space , Text "(" , Text "or" , Space ])-             , FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "\12356"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block-                 (Content-                    [ Text ")"-                    , Space-                    , Text "for"-                    , Space-                    , Code-                        "test/typ/meta/numbering-04.typ"-                        ( line 6 , column 11 )-                        (Ident (Identifier "i"))-                    , Space-                    , HardBreak-                    ])-             ])))-, SoftBreak-, Ellipsis-, Space-, HardBreak-, Code-    "test/typ/meta/numbering-04.typ"-    ( line 9 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 47)) , NormalArg (Literal (Int 51)) ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "\12452"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block (Content [ Space , Text "(" , Text "or" , Space ])-             , FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "\12356"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block-                 (Content-                    [ Text ")"-                    , Space-                    , Text "for"-                    , Space-                    , Code-                        "test/typ/meta/numbering-04.typ"-                        ( line 13 , column 11 )-                        (Ident (Identifier "i"))-                    , Space-                    , HardBreak-                    ])-             ])))-, SoftBreak-, Ellipsis-, Space-, HardBreak-, Code-    "test/typ/meta/numbering-04.typ"-    ( line 16 , column 2 )-    (For-       (BasicBind (Just (Identifier "i")))-       (FuncCall-          (Ident (Identifier "range"))-          [ NormalArg (Literal (Int 2256))-          , NormalArg (Literal (Int 2260))-          ])-       (Block-          (CodeBlock-             [ FuncCall-                 (Ident (Identifier "numbering"))-                 [ NormalArg (Literal (String "\12452"))-                 , NormalArg (Ident (Identifier "i"))-                 ]-             , Block-                 (Content-                    [ Space-                    , Text "for"-                    , Space-                    , Code-                        "test/typ/meta/numbering-04.typ"-                        ( line 18 , column 10 )-                        (Ident (Identifier "i"))-                    , Space-                    , HardBreak-                    ])-             ])))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 numbering(numbering: "イ", -                           numbers: (0)), -                 text(body: [ (or ]), -                 numbering(numbering: "い", -                           numbers: (0)), -                 text(body: [) for ]), -                 text(body: [0]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (1)), -                 text(body: [ (or ]), -                 numbering(numbering: "い", -                           numbers: (1)), -                 text(body: [) for ]), -                 text(body: [1]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (2)), -                 text(body: [ (or ]), -                 numbering(numbering: "い", -                           numbers: (2)), -                 text(body: [) for ]), -                 text(body: [2]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (3)), -                 text(body: [ (or ]), -                 numbering(numbering: "い", -                           numbers: (3)), -                 text(body: [) for ]), -                 text(body: [3]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-… ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (47)), -                 text(body: [ (or ]), -                 numbering(numbering: "い", -                           numbers: (47)), -                 text(body: [) for ]), -                 text(body: [47]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (48)), -                 text(body: [ (or ]), -                 numbering(numbering: "い", -                           numbers: (48)), -                 text(body: [) for ]), -                 text(body: [48]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (49)), -                 text(body: [ (or ]), -                 numbering(numbering: "い", -                           numbers: (49)), -                 text(body: [) for ]), -                 text(body: [49]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (50)), -                 text(body: [ (or ]), -                 numbering(numbering: "い", -                           numbers: (50)), -                 text(body: [) for ]), -                 text(body: [50]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [-… ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (2256)), -                 text(body: [ for ]), -                 text(body: [2256]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (2257)), -                 text(body: [ for ]), -                 text(body: [2257]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (2258)), -                 text(body: [ for ]), -                 text(body: [2258]), -                 text(body: [ ]), -                 linebreak(), -                 numbering(numbering: "イ", -                           numbers: (2259)), -                 text(body: [ for ]), -                 text(body: [2259]), -                 text(body: [ ]), -                 linebreak(), -                 parbreak() })
− test/out/meta/numbering-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/outline-00.out
@@ -1,228 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/outline-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/outline-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/outline-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/outline-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ NormalArg (Literal (String "a7"))-       , KeyValArg (Identifier "margin") (Literal (Numeric 20.0 Pt))-       , KeyValArg (Identifier "numbering") (Literal (String "1"))-       ])-, SoftBreak-, Code-    "test/typ/meta/outline-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "numbering") (Literal (String "(1/a)")) ])-, SoftBreak-, Code-    "test/typ/meta/outline-00.typ"-    ( line 4 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "heading")))-             [ KeyValArg (Identifier "level") (Literal (Int 1)) ]))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Literal (Numeric 12.0 Pt)) ]))-, SoftBreak-, Code-    "test/typ/meta/outline-00.typ"-    ( line 5 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "heading")))-             [ KeyValArg (Identifier "level") (Literal (Int 2)) ]))-       (Set-          (Ident (Identifier "text"))-          [ NormalArg (Literal (Numeric 10.0 Pt)) ]))-, ParBreak-, Code-    "test/typ/meta/outline-00.typ"-    ( line 7 , column 2 )-    (FuncCall (Ident (Identifier "outline")) [])-, ParBreak-, Heading 1 [ Text "Einleitung" ]-, Code-    "test/typ/meta/outline-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 12)) ])-, ParBreak-, Heading 1 [ Text "Analyse" ]-, Code-    "test/typ/meta/outline-00.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 10)) ])-, ParBreak-, Code-    "test/typ/meta/outline-00.typ"-    ( line 15 , column 2 )-    (Block-       (Content-          [ SoftBreak-          , Code-              "test/typ/meta/outline-00.typ"-              ( line 16 , column 4 )-              (Set-                 (Ident (Identifier "heading"))-                 [ KeyValArg (Identifier "outlined") (Literal (Boolean False)) ])-          , SoftBreak-          , Heading 2 [ Text "Methodik" ]-          , Code-              "test/typ/meta/outline-00.typ"-              ( line 18 , column 4 )-              (FuncCall-                 (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 6)) ])-          , ParBreak-          ]))-, ParBreak-, Heading 2 [ Text "Verarbeitung" ]-, Code-    "test/typ/meta/outline-00.typ"-    ( line 22 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 4)) ])-, ParBreak-, Heading 2 [ Text "Programmierung" ]-, RawBlock "rust" "fn main() {\n  panic!(\"in the disco\");\n}\n"-, ParBreak-, Heading 4 [ Text "Deep" , Space , Text "Stuff" ]-, Text "Ok"-, Space-, Ellipsis-, ParBreak-, Code-    "test/typ/meta/outline-00.typ"-    ( line 34 , column 2 )-    (Set-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "numbering") (Literal (String "(I)")) ])-, ParBreak-, Heading-    1-    [ Code-        "test/typ/meta/outline-00.typ"-        ( line 36 , column 4 )-        (FuncCall-           (Ident (Identifier "text"))-           [ NormalArg (Ident (Identifier "blue"))-           , BlockArg [ Text "Zusammen" ]-           ])-    , Text "fassung"-    ]-, Code-    "test/typ/meta/outline-00.typ"-    ( line 37 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 10)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 outline(), -                 parbreak(), -                 heading(body: text(body: [Einleitung]), -                         level: 1, -                         numbering: "(1/a)"), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor]), -                 parbreak(), -                 heading(body: text(body: [Analyse]), -                         level: 1, -                         numbering: "(1/a)"), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [-]), -                 heading(body: text(body: [Methodik]), -                         level: 2, -                         numbering: "(1/a)", -                         outlined: false), -                 text(body: [Lorem ipsum dolor sit amet, consectetur]), -                 parbreak(), -                 parbreak(), -                 heading(body: text(body: [Verarbeitung]), -                         level: 2, -                         numbering: "(1/a)", -                         outlined: false), -                 text(body: [Lorem ipsum dolor sit]), -                 parbreak(), -                 heading(body: text(body: [Programmierung]), -                         level: 2, -                         numbering: "(1/a)", -                         outlined: false), -                 raw(block: true, -                     lang: "rust", -                     text: "fn main() {\n  panic!(\"in the disco\");\n}\n"), -                 parbreak(), -                 heading(body: text(body: [Deep Stuff]), -                         level: 4, -                         numbering: "(1/a)", -                         outlined: false), -                 text(body: [Ok …]), -                 parbreak(), -                 parbreak(), -                 heading(body: { text(body: text(body: [Zusammen]), -                                      color: rgb(0%,45%,85%,100%)), -                                 text(body: [fassung]) }, -                         level: 1, -                         numbering: "(I)", -                         outlined: false), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do]), -                 parbreak() })
− test/out/meta/query-before-after-00.out
@@ -1,181 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/query-before-after-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/query-before-after-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/query-before-after-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/query-before-after-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "paper") (Literal (String "a7"))-       , KeyValArg (Identifier "numbering") (Literal (String "1 / 1"))-       , KeyValArg-           (Identifier "margin")-           (Dict-              [ Reg ( Ident (Identifier "bottom") , Literal (Numeric 1.0 Cm) )-              , Reg ( Ident (Identifier "rest") , Literal (Numeric 0.5 Cm) )-              ])-       ])-, ParBreak-, Code-    "test/typ/meta/query-before-after-00.typ"-    ( line 8 , column 2 )-    (Show-       (Just-          (FuncCall-             (FieldAccess-                (Ident (Identifier "where")) (Ident (Identifier "heading")))-             [ KeyValArg (Identifier "level") (Literal (Int 1))-             , KeyValArg (Identifier "outlined") (Literal (Boolean True))-             ]))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (Content-                [ SoftBreak-                , Code-                    "test/typ/meta/query-before-after-00.typ"-                    ( line 9 , column 4 )-                    (Ident (Identifier "it"))-                , ParBreak-                , Code-                    "test/typ/meta/query-before-after-00.typ"-                    ( line 11 , column 4 )-                    (Set-                       (Ident (Identifier "text"))-                       [ KeyValArg (Identifier "size") (Literal (Numeric 12.0 Pt))-                       , KeyValArg (Identifier "weight") (Literal (String "regular"))-                       ])-                , SoftBreak-                , Code-                    "test/typ/meta/query-before-after-00.typ"-                    ( line 12 , column 4 )-                    (FuncCall-                       (Ident (Identifier "outline"))-                       [ KeyValArg-                           (Identifier "title") (Literal (String "Chapter outline"))-                       , KeyValArg (Identifier "indent") (Literal (Boolean True))-                       , KeyValArg-                           (Identifier "target")-                           (FuncCall-                              (FieldAccess-                                 (Ident (Identifier "before"))-                                 (FuncCall-                                    (FieldAccess-                                       (Ident (Identifier "after"))-                                       (FuncCall-                                          (FieldAccess-                                             (Ident (Identifier "or"))-                                             (FuncCall-                                                (FieldAccess-                                                   (Ident (Identifier "where"))-                                                   (Ident (Identifier "heading")))-                                                [ KeyValArg (Identifier "level") (Literal (Int 1))-                                                ]))-                                          [ NormalArg-                                              (FuncCall-                                                 (FieldAccess-                                                    (Ident (Identifier "where"))-                                                    (Ident (Identifier "heading")))-                                                 [ KeyValArg (Identifier "level") (Literal (Int 2))-                                                 ])-                                          ]))-                                    [ NormalArg-                                        (FuncCall-                                           (FieldAccess-                                              (Ident (Identifier "location"))-                                              (Ident (Identifier "it")))-                                           [])-                                    , KeyValArg (Identifier "inclusive") (Literal (Boolean True))-                                    ]))-                              [ NormalArg-                                  (FuncCall-                                     (FieldAccess-                                        (Ident (Identifier "after"))-                                        (FuncCall-                                           (FieldAccess-                                              (Ident (Identifier "where"))-                                              (Ident (Identifier "heading")))-                                           [ KeyValArg (Identifier "level") (Literal (Int 1))-                                           , KeyValArg-                                               (Identifier "outlined") (Literal (Boolean True))-                                           ]))-                                     [ NormalArg-                                         (FuncCall-                                            (FieldAccess-                                               (Ident (Identifier "location"))-                                               (Ident (Identifier "it")))-                                            [])-                                     , KeyValArg (Identifier "inclusive") (Literal (Boolean False))-                                     ])-                              , KeyValArg (Identifier "inclusive") (Literal (Boolean False))-                              ])-                       ])-                , ParBreak-                ]))))-, ParBreak-, Code-    "test/typ/meta/query-before-after-00.typ"-    ( line 28 , column 2 )-    (Set-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "outlined") (Literal (Boolean True))-       , KeyValArg (Identifier "numbering") (Literal (String "1."))-       ])-, ParBreak-, Heading 1 [ Text "Section" , Space , Text "1" ]-, Heading 2 [ Text "Subsection" , Space , Text "1" ]-, Heading 2 [ Text "Subsection" , Space , Text "2" ]-, Heading 3 [ Text "Subsubsection" , Space , Text "1" ]-, Heading 3 [ Text "Subsubsection" , Space , Text "2" ]-, Heading 2 [ Text "Subsection" , Space , Text "3" ]-, Heading 1 [ Text "Section" , Space , Text "2" ]-, Heading 2 [ Text "Subsection" , Space , Text "1" ]-, Heading 2 [ Text "Subsection" , Space , Text "2" ]-, Heading 1 [ Text "Section" , Space , Text "3" ]-, Heading 2 [ Text "Subsection" , Space , Text "1" ]-, Heading 2 [ Text "Subsection" , Space , Text "2" ]-, Heading 3 [ Text "Subsubsection" , Space , Text "1" ]-, Heading 3 [ Text "Subsubsection" , Space , Text "2" ]-, Heading 3 [ Text "Subsubsection" , Space , Text "3" ]-, Heading 2 [ Text "Subsection" , Space , Text "3" ]-]-"test/typ/meta/query-before-after-00.typ" (line 12, column 4):-Method "location" is not yet implemented or FieldAccess requires a dictionary
− test/out/meta/query-before-after-01.out
@@ -1,187 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/query-before-after-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/query-before-after-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/query-before-after-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, ParBreak-, Code-    "test/typ/meta/query-before-after-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "paper") (Literal (String "a7"))-       , KeyValArg (Identifier "numbering") (Literal (String "1 / 1"))-       , KeyValArg-           (Identifier "margin")-           (Dict-              [ Reg ( Ident (Identifier "bottom") , Literal (Numeric 1.0 Cm) )-              , Reg ( Ident (Identifier "rest") , Literal (Numeric 0.5 Cm) )-              ])-       ])-, ParBreak-, Code-    "test/typ/meta/query-before-after-01.typ"-    ( line 9 , column 2 )-    (Set-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "outlined") (Literal (Boolean True))-       , KeyValArg (Identifier "numbering") (Literal (String "1."))-       ])-, ParBreak-, Comment-, Code-    "test/typ/meta/query-before-after-01.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "locate"))-       [ NormalArg-           (FuncExpr-              [ NormalParam (Identifier "loc") ]-              (Block-                 (Content-                    [ SoftBreak-                    , Text "Non"-                    , Text "-"-                    , Text "outlined"-                    , Space-                    , Text "elements"-                    , Text ":"-                    , SoftBreak-                    , Code-                        "test/typ/meta/query-before-after-01.typ"-                        ( line 14 , column 4 )-                        (FuncCall-                           (FieldAccess-                              (Ident (Identifier "join"))-                              (FuncCall-                                 (FieldAccess-                                    (Ident (Identifier "map"))-                                    (FuncCall-                                       (Ident (Identifier "query"))-                                       [ NormalArg-                                           (FuncCall-                                              (FieldAccess-                                                 (Ident (Identifier "and"))-                                                 (FuncCall-                                                    (Ident (Identifier "selector"))-                                                    [ NormalArg (Ident (Identifier "heading")) ]))-                                              [ NormalArg-                                                  (FuncCall-                                                     (FieldAccess-                                                        (Ident (Identifier "where"))-                                                        (Ident (Identifier "heading")))-                                                     [ KeyValArg-                                                         (Identifier "outlined")-                                                         (Literal (Boolean False))-                                                     ])-                                              ])-                                       , NormalArg (Ident (Identifier "loc"))-                                       ]))-                                 [ NormalArg-                                     (FuncExpr-                                        [ NormalParam (Identifier "it") ]-                                        (FieldAccess-                                           (Ident (Identifier "body")) (Ident (Identifier "it"))))-                                 ]))-                           [ NormalArg (Literal (String ", ")) ])-                    , ParBreak-                    ])))-       ])-, ParBreak-, Code-    "test/typ/meta/query-before-after-01.typ"-    ( line 18 , column 2 )-    (FuncCall-       (Ident (Identifier "heading"))-       [ NormalArg (Literal (String "A"))-       , KeyValArg (Identifier "outlined") (Literal (Boolean False))-       ])-, SoftBreak-, Code-    "test/typ/meta/query-before-after-01.typ"-    ( line 19 , column 2 )-    (FuncCall-       (Ident (Identifier "heading"))-       [ NormalArg (Literal (String "B"))-       , KeyValArg (Identifier "outlined") (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/meta/query-before-after-01.typ"-    ( line 20 , column 2 )-    (FuncCall-       (Ident (Identifier "heading"))-       [ NormalArg (Literal (String "C"))-       , KeyValArg (Identifier "outlined") (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/meta/query-before-after-01.typ"-    ( line 21 , column 2 )-    (FuncCall-       (Ident (Identifier "heading"))-       [ NormalArg (Literal (String "D"))-       , KeyValArg (Identifier "outlined") (Literal (Boolean False))-       ])-, ParBreak-]---- evaluated ----document(body: { parbreak(), -                 parbreak(), -                 parbreak(), -                 locate(func: ), -                 parbreak(), -                 heading(body: [A], -                         numbering: "1.", -                         outlined: false), -                 text(body: [-]), -                 heading(body: [B], -                         numbering: "1.", -                         outlined: true), -                 text(body: [-]), -                 heading(body: [C], -                         numbering: "1.", -                         outlined: true), -                 text(body: [-]), -                 heading(body: [D], -                         numbering: "1.", -                         outlined: false), -                 parbreak() })
− test/out/meta/query-figure-00.out
@@ -1,259 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/query-figure-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/query-figure-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/query-figure-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/query-figure-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "paper") (Literal (String "a7"))-       , KeyValArg (Identifier "numbering") (Literal (String "1 / 1"))-       , KeyValArg-           (Identifier "margin")-           (Dict-              [ Reg ( Ident (Identifier "bottom") , Literal (Numeric 1.0 Cm) )-              , Reg ( Ident (Identifier "rest") , Literal (Numeric 0.5 Cm) )-              ])-       ])-, ParBreak-, Code-    "test/typ/meta/query-figure-00.typ"-    ( line 8 , column 2 )-    (Set-       (Ident (Identifier "figure"))-       [ KeyValArg (Identifier "numbering") (Literal (String "I")) ])-, SoftBreak-, Code-    "test/typ/meta/query-figure-00.typ"-    ( line 9 , column 2 )-    (Show-       (Just (Ident (Identifier "figure")))-       (Set-          (Ident (Identifier "image"))-          [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Percent))-          ]))-, ParBreak-, Heading-    1 [ Text "List" , Space , Text "of" , Space , Text "Figures" ]-, Code-    "test/typ/meta/query-figure-00.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "locate"))-       [ NormalArg-           (FuncExpr-              [ NormalParam (Identifier "it") ]-              (Block-                 (CodeBlock-                    [ Let-                        (BasicBind (Just (Identifier "elements")))-                        (FuncCall-                           (Ident (Identifier "query"))-                           [ NormalArg-                               (FuncCall-                                  (FieldAccess-                                     (Ident (Identifier "after"))-                                     (FuncCall-                                        (Ident (Identifier "selector"))-                                        [ NormalArg (Ident (Identifier "figure")) ]))-                                  [ NormalArg (Ident (Identifier "it")) ])-                           , NormalArg (Ident (Identifier "it"))-                           ])-                    , For-                        (BasicBind (Just (Identifier "it")))-                        (Ident (Identifier "elements"))-                        (Block-                           (Content-                              [ SoftBreak-                              , Text "Figure"-                              , SoftBreak-                              , Code-                                  "test/typ/meta/query-figure-00.typ"-                                  ( line 16 , column 6 )-                                  (FuncCall-                                     (Ident (Identifier "numbering"))-                                     [ NormalArg-                                         (FieldAccess-                                            (Ident (Identifier "numbering"))-                                            (Ident (Identifier "it")))-                                     , SpreadArg-                                         (FuncCall-                                            (FieldAccess-                                               (Ident (Identifier "at"))-                                               (FuncCall-                                                  (Ident (Identifier "counter"))-                                                  [ NormalArg (Ident (Identifier "figure")) ]))-                                            [ NormalArg-                                                (FuncCall-                                                   (FieldAccess-                                                      (Ident (Identifier "location"))-                                                      (Ident (Identifier "it")))-                                                   [])-                                            ])-                                     ])-                              , Text ":"-                              , SoftBreak-                              , Code-                                  "test/typ/meta/query-figure-00.typ"-                                  ( line 18 , column 6 )-                                  (FieldAccess-                                     (Ident (Identifier "caption")) (Ident (Identifier "it")))-                              , SoftBreak-                              , Code-                                  "test/typ/meta/query-figure-00.typ"-                                  ( line 19 , column 6 )-                                  (FuncCall-                                     (Ident (Identifier "box"))-                                     [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))-                                     , NormalArg-                                         (FuncCall-                                            (Ident (Identifier "repeat")) [ BlockArg [ Text "." ] ])-                                     ])-                              , SoftBreak-                              , Code-                                  "test/typ/meta/query-figure-00.typ"-                                  ( line 20 , column 6 )-                                  (FuncCall-                                     (FieldAccess-                                        (Ident (Identifier "first"))-                                        (FuncCall-                                           (FieldAccess-                                              (Ident (Identifier "at"))-                                              (FuncCall-                                                 (Ident (Identifier "counter"))-                                                 [ NormalArg (Ident (Identifier "page")) ]))-                                           [ NormalArg-                                               (FuncCall-                                                  (FieldAccess-                                                     (Ident (Identifier "location"))-                                                     (Ident (Identifier "it")))-                                                  [])-                                           ]))-                                     [])-                              , Space-                              , HardBreak-                              ]))-                    ])))-       ])-, ParBreak-, Code-    "test/typ/meta/query-figure-00.typ"-    ( line 24 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/glacier.jpg")) ])-       , KeyValArg-           (Identifier "caption")-           (Block (Content [ Text "Glacier" , Space , Text "melting" ]))-       ])-, ParBreak-, Code-    "test/typ/meta/query-figure-00.typ"-    ( line 29 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ BlockArg-                  [ Text "Just"-                  , Space-                  , Text "some"-                  , Space-                  , Text "stand"-                  , Text "-"-                  , Text "in"-                  , Space-                  , Text "text"-                  ]-              ])-       , KeyValArg (Identifier "kind") (Ident (Identifier "image"))-       , KeyValArg (Identifier "supplement") (Literal (String "Figure"))-       , KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ Text "Stand" , Text "-" , Text "in" , Space , Text "text" ]))-       ])-, ParBreak-, Code-    "test/typ/meta/query-figure-00.typ"-    ( line 36 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg")) ])-       , KeyValArg-           (Identifier "caption")-           (Block (Content [ Text "Tiger" , Space , Text "world" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [List of Figures]), -                         level: 1), -                 locate(func: ), -                 parbreak(), -                 figure(body: image(path: "/assets/files/glacier.jpg"), -                        caption: text(body: [Glacier melting]), -                        numbering: "I"), -                 parbreak(), -                 figure(body: rect(body: text(body: [Just some stand-in text])), -                        caption: text(body: [Stand-in text]), -                        kind: , -                        numbering: "I", -                        supplement: "Figure"), -                 parbreak(), -                 figure(body: image(path: "/assets/files/tiger.jpg"), -                        caption: text(body: [Tiger world]), -                        numbering: "I"), -                 parbreak() })
− test/out/meta/query-header-00.out
@@ -1,192 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/query-header-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/query-header-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/query-header-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/query-header-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "paper") (Literal (String "a7"))-       , KeyValArg-           (Identifier "margin")-           (Dict-              [ Reg ( Ident (Identifier "y") , Literal (Numeric 1.0 Cm) )-              , Reg ( Ident (Identifier "x") , Literal (Numeric 0.5 Cm) )-              ])-       , KeyValArg-           (Identifier "header")-           (Block-              (CodeBlock-                 [ FuncCall-                     (Ident (Identifier "smallcaps"))-                     [ BlockArg [ Text "Typst" , Space , Text "Academy" ] ]-                 , FuncCall-                     (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ]-                 , FuncCall-                     (Ident (Identifier "locate"))-                     [ NormalArg-                         (FuncExpr-                            [ NormalParam (Identifier "it") ]-                            (Block-                               (CodeBlock-                                  [ Let-                                      (BasicBind (Just (Identifier "after")))-                                      (FuncCall-                                         (Ident (Identifier "query"))-                                         [ NormalArg-                                             (FuncCall-                                                (FieldAccess-                                                   (Ident (Identifier "after"))-                                                   (FuncCall-                                                      (Ident (Identifier "selector"))-                                                      [ NormalArg (Ident (Identifier "heading")) ]))-                                                [ NormalArg (Ident (Identifier "it")) ])-                                         , NormalArg (Ident (Identifier "it"))-                                         ])-                                  , Let-                                      (BasicBind (Just (Identifier "before")))-                                      (FuncCall-                                         (Ident (Identifier "query"))-                                         [ NormalArg-                                             (FuncCall-                                                (FieldAccess-                                                   (Ident (Identifier "before"))-                                                   (FuncCall-                                                      (Ident (Identifier "selector"))-                                                      [ NormalArg (Ident (Identifier "heading")) ]))-                                                [ NormalArg (Ident (Identifier "it")) ])-                                         , NormalArg (Ident (Identifier "it"))-                                         ])-                                  , Let-                                      (BasicBind (Just (Identifier "elem")))-                                      (If-                                         [ ( Not-                                               (Equals-                                                  (FuncCall-                                                     (FieldAccess-                                                        (Ident (Identifier "len"))-                                                        (Ident (Identifier "before")))-                                                     [])-                                                  (Literal (Int 0)))-                                           , Block-                                               (CodeBlock-                                                  [ FuncCall-                                                      (FieldAccess-                                                         (Ident (Identifier "last"))-                                                         (Ident (Identifier "before")))-                                                      []-                                                  ])-                                           )-                                         , ( Not-                                               (Equals-                                                  (FuncCall-                                                     (FieldAccess-                                                        (Ident (Identifier "len"))-                                                        (Ident (Identifier "after")))-                                                     [])-                                                  (Literal (Int 0)))-                                           , Block-                                               (CodeBlock-                                                  [ FuncCall-                                                      (FieldAccess-                                                         (Ident (Identifier "first"))-                                                         (Ident (Identifier "after")))-                                                      []-                                                  ])-                                           )-                                         ])-                                  , FuncCall-                                      (Ident (Identifier "emph"))-                                      [ NormalArg-                                          (FieldAccess-                                             (Ident (Identifier "body"))-                                             (Ident (Identifier "elem")))-                                      ]-                                  ])))-                     ]-                 ]))-       ])-, ParBreak-, Code-    "test/typ/meta/query-header-00.typ"-    ( line 21 , column 2 )-    (FuncCall (Ident (Identifier "outline")) [])-, ParBreak-, Heading 1 [ Text "Introduction" ]-, Code-    "test/typ/meta/query-header-00.typ"-    ( line 24 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 35)) ])-, ParBreak-, Heading 1 [ Text "Background" ]-, Code-    "test/typ/meta/query-header-00.typ"-    ( line 27 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 35)) ])-, ParBreak-, Heading 1 [ Text "Approach" ]-, Code-    "test/typ/meta/query-header-00.typ"-    ( line 30 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 60)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 outline(), -                 parbreak(), -                 heading(body: text(body: [Introduction]), -                         level: 1), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo]), -                 parbreak(), -                 heading(body: text(body: [Background]), -                         level: 1), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo]), -                 parbreak(), -                 heading(body: text(body: [Approach]), -                         level: 1), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in]), -                 parbreak() })
− test/out/meta/ref-00.out
@@ -1,100 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/ref-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/ref-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/ref-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/ref-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "heading"))-       [ KeyValArg (Identifier "numbering") (Literal (String "1.")) ])-, ParBreak-, Heading 1 [ Text "Introduction" ]-, Code-    "test/typ/meta/ref-00.typ" ( line 4 , column 16 ) (Label "intro")-, SoftBreak-, Text "See"-, Space-, Ref "setup" (Literal Auto)-, Text "."-, ParBreak-, Heading 2 [ Text "Setup" ]-, Code-    "test/typ/meta/ref-00.typ" ( line 7 , column 10 ) (Label "setup")-, SoftBreak-, Text "As"-, Space-, Text "seen"-, Space-, Text "in"-, Space-, Ref "intro" (Literal Auto)-, Text ","-, Space-, Text "we"-, Space-, Text "proceed"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 heading(body: text(body: [Introduction]), -                         level: 1, -                         numbering: "1."), -                 <intro>, -                 text(body: [-See ]), -                 ref(supplement: auto, -                     target: <setup>), -                 text(body: [.]), -                 parbreak(), -                 heading(body: text(body: [Setup]), -                         level: 2, -                         numbering: "1."), -                 <setup>, -                 text(body: [-As seen in ]), -                 ref(supplement: auto, -                     target: <intro>), -                 text(body: [, we proceed.]), -                 parbreak() })
− test/out/meta/ref-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/ref-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/meta/ref-03.out
@@ -1,169 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/ref-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/ref-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/ref-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, ParBreak-, Code-    "test/typ/meta/ref-03.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "ref")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (CodeBlock-                [ If-                    [ ( And-                          (Not-                             (Equals-                                (FieldAccess-                                   (Ident (Identifier "element")) (Ident (Identifier "it")))-                                (Literal None)))-                          (Equals-                             (FuncCall-                                (FieldAccess-                                   (Ident (Identifier "func"))-                                   (FieldAccess-                                      (Ident (Identifier "element")) (Ident (Identifier "it"))))-                                [])-                             (Ident (Identifier "figure")))-                      , Block-                          (CodeBlock-                             [ Let-                                 (BasicBind (Just (Identifier "element")))-                                 (FieldAccess-                                    (Ident (Identifier "element")) (Ident (Identifier "it")))-                             , Literal (String "[")-                             , FieldAccess-                                 (Ident (Identifier "supplement")) (Ident (Identifier "element"))-                             , Literal (String "-")-                             , FuncCall-                                 (Ident (Identifier "str"))-                                 [ NormalArg-                                     (FuncCall-                                        (FieldAccess-                                           (Ident (Identifier "at"))-                                           (FuncCall-                                              (FieldAccess-                                                 (Ident (Identifier "at"))-                                                 (FieldAccess-                                                    (Ident (Identifier "counter"))-                                                    (Ident (Identifier "element"))))-                                              [ NormalArg-                                                  (FuncCall-                                                     (FieldAccess-                                                        (Ident (Identifier "location"))-                                                        (Ident (Identifier "element")))-                                                     [])-                                              ]))-                                        [ NormalArg (Literal (Int 0)) ])-                                 ]-                             , Literal (String "]")-                             ])-                      )-                    , ( Literal (Boolean True)-                      , Block (CodeBlock [ Ident (Identifier "it") ])-                      )-                    ]-                ]))))-, ParBreak-, Code-    "test/typ/meta/ref-03.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/cylinder.svg"))-              , KeyValArg (Identifier "height") (Literal (Numeric 3.0 Cm))-              ])-       , KeyValArg-           (Identifier "caption")-           (Block (Content [ Text "A" , Space , Text "sylinder" , Text "." ]))-       , KeyValArg (Identifier "supplement") (Literal (String "Fig"))-       ])-, Space-, Code-    "test/typ/meta/ref-03.typ" ( line 21 , column 3 ) (Label "fig1")-, ParBreak-, Code-    "test/typ/meta/ref-03.typ"-    ( line 23 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))-              , KeyValArg (Identifier "height") (Literal (Numeric 3.0 Cm))-              ])-       , KeyValArg-           (Identifier "caption")-           (Block (Content [ Text "A" , Space , Text "tiger" , Text "." ]))-       , KeyValArg (Identifier "supplement") (Literal (String "Figg"))-       ])-, Space-, Code-    "test/typ/meta/ref-03.typ" ( line 27 , column 3 ) (Label "fig2")-, ParBreak-, Code-    "test/typ/meta/ref-03.typ"-    ( line 29 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (Block-              (Content [ Equation True [ Text "A" , Text "=" , Text "1" ] ]))-       , KeyValArg (Identifier "kind") (Literal (String "equation"))-       , KeyValArg (Identifier "supplement") (Literal (String "Equa"))-       ])-, Space-, Code-    "test/typ/meta/ref-03.typ" ( line 34 , column 3 ) (Label "eq1")-, SoftBreak-, Ref "fig1" (Literal Auto)-, ParBreak-, Ref "fig2" (Literal Auto)-, ParBreak-, Ref "eq1" (Literal Auto)-, ParBreak-]-"test/typ/meta/ref-03.typ" (line 34, column 3):-Content does not have a method "element" or FieldAccess requires a dictionary
− test/out/meta/ref-04.out
@@ -1,159 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/ref-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/ref-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/ref-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/ref-04.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "heading"))-       [ KeyValArg-           (Identifier "numbering")-           (FuncExpr-              [ SinkParam (Just (Identifier "nums")) ]-              (Block-                 (CodeBlock-                    [ FuncCall-                        (FieldAccess-                           (Ident (Identifier "join"))-                           (FuncCall-                              (FieldAccess-                                 (Ident (Identifier "map"))-                                 (FuncCall-                                    (FieldAccess-                                       (Ident (Identifier "pos")) (Ident (Identifier "nums")))-                                    []))-                              [ NormalArg (Ident (Identifier "str")) ]))-                        [ NormalArg (Literal (String ".")) ]-                    ])))-       , KeyValArg-           (Identifier "supplement") (Block (Content [ Text "Chapt" ]))-       ])-, ParBreak-, Code-    "test/typ/meta/ref-04.typ"-    ( line 6 , column 2 )-    (Show-       (Just (Ident (Identifier "ref")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (CodeBlock-                [ If-                    [ ( And-                          (Not-                             (Equals-                                (FieldAccess-                                   (Ident (Identifier "element")) (Ident (Identifier "it")))-                                (Literal None)))-                          (Equals-                             (FuncCall-                                (FieldAccess-                                   (Ident (Identifier "func"))-                                   (FieldAccess-                                      (Ident (Identifier "element")) (Ident (Identifier "it"))))-                                [])-                             (Ident (Identifier "heading")))-                      , Block-                          (CodeBlock-                             [ Let-                                 (BasicBind (Just (Identifier "element")))-                                 (FieldAccess-                                    (Ident (Identifier "element")) (Ident (Identifier "it")))-                             , Literal (String "[")-                             , FuncCall-                                 (Ident (Identifier "emph"))-                                 [ NormalArg-                                     (FieldAccess-                                        (Ident (Identifier "supplement"))-                                        (Ident (Identifier "element")))-                                 ]-                             , Literal (String "-")-                             , FuncCall-                                 (Ident (Identifier "numbering"))-                                 [ NormalArg-                                     (FieldAccess-                                        (Ident (Identifier "numbering"))-                                        (Ident (Identifier "element")))-                                 , SpreadArg-                                     (FuncCall-                                        (FieldAccess-                                           (Ident (Identifier "at"))-                                           (FuncCall-                                              (Ident (Identifier "counter"))-                                              [ NormalArg (Ident (Identifier "heading")) ]))-                                        [ NormalArg-                                            (FuncCall-                                               (FieldAccess-                                                  (Ident (Identifier "location"))-                                                  (Ident (Identifier "element")))-                                               [])-                                        ])-                                 ]-                             , Literal (String "]")-                             ])-                      )-                    , ( Literal (Boolean True)-                      , Block (CodeBlock [ Ident (Identifier "it") ])-                      )-                    ]-                ]))))-, ParBreak-, Heading 1 [ Text "Introduction" ]-, Code-    "test/typ/meta/ref-04.typ" ( line 19 , column 16 ) (Label "intro")-, ParBreak-, Heading 1 [ Text "Summary" ]-, Code-    "test/typ/meta/ref-04.typ" ( line 21 , column 11 ) (Label "sum")-, ParBreak-, Heading 2 [ Text "Subsection" ]-, Code-    "test/typ/meta/ref-04.typ" ( line 23 , column 15 ) (Label "sub")-, ParBreak-, Ref "intro" (Literal Auto)-, ParBreak-, Ref "sum" (Literal Auto)-, ParBreak-, Ref "sub" (Literal Auto)-, ParBreak-]-"test/typ/meta/ref-04.typ" (line 23, column 15):-Content does not have a method "element" or FieldAccess requires a dictionary
− test/out/meta/ref-05.out
@@ -1,149 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/ref-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/ref-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/ref-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, ParBreak-, Code-    "test/typ/meta/ref-05.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "ref")))-       (FuncExpr-          [ NormalParam (Identifier "it") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Not-                          (Equals-                             (FieldAccess-                                (Ident (Identifier "element")) (Ident (Identifier "it")))-                             (Literal None))-                      , Block-                          (CodeBlock-                             [ If-                                 [ ( Equals-                                       (FuncCall-                                          (FieldAccess-                                             (Ident (Identifier "func"))-                                             (FieldAccess-                                                (Ident (Identifier "element"))-                                                (Ident (Identifier "it"))))-                                          [])-                                       (Ident (Identifier "text"))-                                   , Block-                                       (CodeBlock-                                          [ Let-                                              (BasicBind (Just (Identifier "element")))-                                              (FieldAccess-                                                 (Ident (Identifier "element"))-                                                 (Ident (Identifier "it")))-                                          , Literal (String "[")-                                          , Ident (Identifier "element")-                                          , Literal (String "]")-                                          ])-                                   )-                                 , ( Equals-                                       (FuncCall-                                          (FieldAccess-                                             (Ident (Identifier "func"))-                                             (FieldAccess-                                                (Ident (Identifier "element"))-                                                (Ident (Identifier "it"))))-                                          [])-                                       (Ident (Identifier "underline"))-                                   , Block-                                       (CodeBlock-                                          [ Let-                                              (BasicBind (Just (Identifier "element")))-                                              (FieldAccess-                                                 (Ident (Identifier "element"))-                                                 (Ident (Identifier "it")))-                                          , Literal (String "{")-                                          , Ident (Identifier "element")-                                          , Literal (String "}")-                                          ])-                                   )-                                 , ( Literal (Boolean True)-                                   , Block (CodeBlock [ Ident (Identifier "it") ])-                                   )-                                 ]-                             ])-                      )-                    , ( Literal (Boolean True)-                      , Block (CodeBlock [ Ident (Identifier "it") ])-                      )-                    ]-                ]))))-, ParBreak-, Ref "txt" (Literal Auto)-, ParBreak-, Text "Ref"-, Space-, Text "something"-, Space-, Text "unreferable"-, Space-, Code-    "test/typ/meta/ref-05.typ" ( line 25 , column 27 ) (Label "txt")-, ParBreak-, Ref "under" (Literal Auto)-, SoftBreak-, Code-    "test/typ/meta/ref-05.typ"-    ( line 28 , column 2 )-    (FuncCall-       (Ident (Identifier "underline"))-       [ BlockArg-           [ SoftBreak-           , Text "Some"-           , Space-           , Text "underline"-           , Space-           , Text "text"-           , Text "."-           , ParBreak-           ]-       ])-, Space-, Code-    "test/typ/meta/ref-05.typ" ( line 30 , column 3 ) (Label "under")-, ParBreak-]-"test/typ/meta/ref-05.typ" (line 3, column 2):-Content does not have a method "element" or FieldAccess requires a dictionary
− test/out/meta/state-00.out
@@ -1,139 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/state-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/state-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/state-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/state-00.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "s")))-       (FuncCall-          (Ident (Identifier "state"))-          [ NormalArg (Literal (String "hey"))-          , NormalArg (Literal (String "a"))-          ]))-, SoftBreak-, Code-    "test/typ/meta/state-00.typ"-    ( line 3 , column 2 )-    (LetFunc-       (Identifier "double")-       [ NormalParam (Identifier "it") ]-       (Times (Literal (Int 2)) (Ident (Identifier "it"))))-, ParBreak-, Code-    "test/typ/meta/state-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "update")) (Ident (Identifier "s")))-       [ NormalArg (Ident (Identifier "double")) ])-, SoftBreak-, Code-    "test/typ/meta/state-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "update")) (Ident (Identifier "s")))-       [ NormalArg (Ident (Identifier "double")) ])-, SoftBreak-, Equation True [ Text "2" , Text "+" , Text "3" ]-, SoftBreak-, Code-    "test/typ/meta/state-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "update")) (Ident (Identifier "s")))-       [ NormalArg (Ident (Identifier "double")) ])-, ParBreak-, Text "Is"-, Text ":"-, Space-, Code-    "test/typ/meta/state-00.typ"-    ( line 10 , column 6 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "display")) (Ident (Identifier "s")))-       [])-, Text ","-, SoftBreak-, Text "Was"-, Text ":"-, Space-, Code-    "test/typ/meta/state-00.typ"-    ( line 11 , column 7 )-    (FuncCall-       (Ident (Identifier "locate"))-       [ NormalArg-           (FuncExpr-              [ NormalParam (Identifier "location") ]-              (Block-                 (CodeBlock-                    [ Let-                        (BasicBind (Just (Identifier "it")))-                        (FuncCall-                           (FieldAccess-                              (Ident (Identifier "first"))-                              (FuncCall-                                 (Ident (Identifier "query"))-                                 [ NormalArg-                                     (FieldAccess-                                        (Ident (Identifier "equation")) (Ident (Identifier "math")))-                                 , NormalArg (Ident (Identifier "location"))-                                 ]))-                           [])-                    , FuncCall-                        (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "s")))-                        [ NormalArg-                            (FuncCall-                               (FieldAccess-                                  (Ident (Identifier "location")) (Ident (Identifier "it")))-                               [])-                        ]-                    ])))-       ])-, Text "."-, ParBreak-]-"test/typ/meta/state-00.typ" (line 5, column 2):-Content does not have a method "update" or FieldAccess requires a dictionary
− test/out/meta/state-01.out
@@ -1,216 +0,0 @@---- parse tree ----[ Code-    "test/typ/meta/state-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/meta/state-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/meta/state-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/meta/state-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/meta/state-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 8.0 Pt)) ])-, ParBreak-, Code-    "test/typ/meta/state-01.typ"-    ( line 5 , column 2 )-    (Let-       (BasicBind (Just (Identifier "ls")))-       (FuncCall-          (Ident (Identifier "state"))-          [ NormalArg (Literal (String "lorem"))-          , NormalArg-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "split"))-                    (FuncCall-                       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 1000)) ]))-                 [ NormalArg (Literal (String ".")) ])-          ]))-, SoftBreak-, Code-    "test/typ/meta/state-01.typ"-    ( line 6 , column 2 )-    (LetFunc-       (Identifier "loremum")-       [ NormalParam (Identifier "count") ]-       (Block-          (CodeBlock-             [ FuncCall-                 (FieldAccess-                    (Ident (Identifier "display")) (Ident (Identifier "ls")))-                 [ NormalArg-                     (FuncExpr-                        [ NormalParam (Identifier "list") ]-                        (Plus-                           (FuncCall-                              (FieldAccess-                                 (Ident (Identifier "trim"))-                                 (FuncCall-                                    (FieldAccess-                                       (Ident (Identifier "join"))-                                       (FuncCall-                                          (FieldAccess-                                             (Ident (Identifier "slice"))-                                             (Ident (Identifier "list")))-                                          [ NormalArg (Literal (Int 0))-                                          , NormalArg (Ident (Identifier "count"))-                                          ]))-                                    [ NormalArg (Literal (String ".")) ]))-                              [])-                           (Literal (String "."))))-                 ]-             , FuncCall-                 (FieldAccess-                    (Ident (Identifier "update")) (Ident (Identifier "ls")))-                 [ NormalArg-                     (FuncExpr-                        [ NormalParam (Identifier "list") ]-                        (FuncCall-                           (FieldAccess-                              (Ident (Identifier "slice")) (Ident (Identifier "list")))-                           [ NormalArg (Ident (Identifier "count")) ]))-                 ]-             ])))-, ParBreak-, Code-    "test/typ/meta/state-01.typ"-    ( line 11 , column 2 )-    (Let-       (BasicBind (Just (Identifier "fs")))-       (FuncCall-          (Ident (Identifier "state"))-          [ NormalArg (Literal (String "fader"))-          , NormalArg (Ident (Identifier "red"))-          ]))-, SoftBreak-, Code-    "test/typ/meta/state-01.typ"-    ( line 12 , column 2 )-    (LetFunc-       (Identifier "trait")-       [ NormalParam (Identifier "title") ]-       (FuncCall-          (Ident (Identifier "block"))-          [ BlockArg-              [ SoftBreak-              , Code-                  "test/typ/meta/state-01.typ"-                  ( line 13 , column 4 )-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "display")) (Ident (Identifier "fs")))-                     [ NormalArg-                         (FuncExpr-                            [ NormalParam (Identifier "color") ]-                            (FuncCall-                               (Ident (Identifier "text"))-                               [ KeyValArg (Identifier "fill") (Ident (Identifier "color"))-                               , BlockArg-                                   [ SoftBreak-                                   , Strong-                                       [ Code-                                           "test/typ/meta/state-01.typ"-                                           ( line 14 , column 7 )-                                           (Ident (Identifier "title"))-                                       , Text ":"-                                       ]-                                   , Space-                                   , Code-                                       "test/typ/meta/state-01.typ"-                                       ( line 14 , column 16 )-                                       (FuncCall-                                          (Ident (Identifier "loremum"))-                                          [ NormalArg (Literal (Int 1)) ])-                                   , ParBreak-                                   ]-                               ]))-                     ])-              , SoftBreak-              , Code-                  "test/typ/meta/state-01.typ"-                  ( line 16 , column 4 )-                  (FuncCall-                     (FieldAccess-                        (Ident (Identifier "update")) (Ident (Identifier "fs")))-                     [ NormalArg-                         (FuncExpr-                            [ NormalParam (Identifier "color") ]-                            (FuncCall-                               (FieldAccess-                                  (Ident (Identifier "lighten")) (Ident (Identifier "color")))-                               [ NormalArg (Literal (Numeric 30.0 Percent)) ]))-                     ])-              , ParBreak-              ]-          ]))-, ParBreak-, Code-    "test/typ/meta/state-01.typ"-    ( line 19 , column 2 )-    (FuncCall-       (Ident (Identifier "trait")) [ BlockArg [ Text "Boldness" ] ])-, SoftBreak-, Code-    "test/typ/meta/state-01.typ"-    ( line 20 , column 2 )-    (FuncCall-       (Ident (Identifier "trait")) [ BlockArg [ Text "Adventure" ] ])-, SoftBreak-, Code-    "test/typ/meta/state-01.typ"-    ( line 21 , column 2 )-    (FuncCall-       (Ident (Identifier "trait")) [ BlockArg [ Text "Fear" ] ])-, SoftBreak-, Code-    "test/typ/meta/state-01.typ"-    ( line 22 , column 2 )-    (FuncCall-       (Ident (Identifier "trait")) [ BlockArg [ Text "Anger" ] ])-, ParBreak-]-"test/typ/meta/state-01.typ" (line 13, column 4):-Content does not have a method "display" or FieldAccess requires a dictionary
− test/out/regression/issue1.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue1.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue1.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue1.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue1.typ"-    ( line 2 , column 2 )-    (LetFunc-       (Identifier "foo")-       [ NormalParam (Identifier "x") ]-       (Block-          (CodeBlock-             [ Return-                 (Just-                    (Array [ Spr (Ident (Identifier "x")) , Reg (Literal (Int 5)) ]))-             ])))-, SoftBreak-, Code-    "test/typ/regression/issue1.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "foo"))-       [ NormalArg-           (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 4)) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [(3, 4, 5)]), -                 parbreak() })
− test/out/regression/issue12.out
@@ -1,61 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue12.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue12.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue12.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Text "he"-, Quote '\''-, Strong [ Text "llo" , Space , Text "World" ]-, ParBreak-, Text "l\8217"-, Strong [ Text "exactitude" ]-, ParBreak-, Text "a*b_c_e"-, ParBreak-]---- evaluated ----document(body: { text(body: [-he’]), -                 strong(body: text(body: [llo World])), -                 parbreak(), -                 text(body: [l’]), -                 strong(body: text(body: [exactitude])), -                 parbreak(), -                 text(body: [a*b_c_e]), -                 parbreak() })
− test/out/regression/issue15.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue15.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue15.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue15.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    False-    [ Code-        "test/typ/regression/issue15.typ"-        ( line 2 , column 2 )-        (Ident (Identifier "dots"))-    ]-, SoftBreak-, Equation-    False-    [ Code-        "test/typ/regression/issue15.typ"-        ( line 3 , column 2 )-        (FieldAccess (Ident (Identifier "l")) (Ident (Identifier "quote")))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: text(body: […]), -                               numbering: none), -                 text(body: [-]), -                 math.equation(block: false, -                               body: text(body: [“]), -                               numbering: none), -                 parbreak() })
− test/out/regression/issue17.out
@@ -1,223 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue17.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue17.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue17.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    False-    [ MAttach-        Nothing-        (Just (MGroup Nothing Nothing [ Text "b" ]))-        (MGroup-           Nothing-           Nothing-           [ Text "n" , MGroup (Just "(") (Just ")") [ Text "a" ] ])-    ]-, ParBreak-, Equation-    False-    [ MAttach (Just (Text "1")) Nothing (Text "a")-    , MGroup (Just "(") (Just ")") [ Text "x" ]-    ]-, ParBreak-, Equation-    False-    [ MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]))-        Nothing-        (Text "a")-    ]-, ParBreak-, Equation-    False-    [ MAttach-        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))-        (Just (Text "3"))-        (Code-           "test/typ/regression/issue17.typ"-           ( line 8 , column 2 )-           (Ident (Identifier "sum")))-    ]-, ParBreak-, Equation-    False-    [ MAttach-        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))-        (Just (Text "3"))-        (Code-           "test/typ/regression/issue17.typ"-           ( line 10 , column 2 )-           (Ident (Identifier "sum")))-    ]-, ParBreak-, Equation-    False-    [ MAttach-        (Just (Text "3"))-        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))-        (Code-           "test/typ/regression/issue17.typ"-           ( line 12 , column 2 )-           (Ident (Identifier "sum")))-    ]-, ParBreak-, Equation-    False-    [ MAttach-        (Just (Text "3"))-        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))-        (Code-           "test/typ/regression/issue17.typ"-           ( line 14 , column 2 )-           (Ident (Identifier "sum")))-    ]-, ParBreak-, Equation-    False-    [ MAttach-        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))-        (Just-           (Code-              "test/typ/regression/issue17.typ"-              ( line 16 , column 12 )-              (Ident (Identifier "pi"))))-        (Code-           "test/typ/regression/issue17.typ"-           ( line 16 , column 2 )-           (Ident (Identifier "sum")))-    ]-, ParBreak-, Equation-    False-    [ MAttach-        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))-        (Just-           (Code-              "test/typ/regression/issue17.typ"-              ( line 18 , column 6 )-              (Ident (Identifier "pi"))))-        (Code-           "test/typ/regression/issue17.typ"-           ( line 18 , column 2 )-           (Ident (Identifier "sum")))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: math.attach(b: none, -                                                 base: { text(body: [n]), -                                                         math.lr(body: ({ [(], -                                                                          text(body: [a]), -                                                                          [)] })) }, -                                                 t: text(body: [b])), -                               numbering: none), -                 parbreak(), -                 math.equation(block: false, -                               body: { math.attach(b: text(body: [1]), -                                                   base: text(body: [a]), -                                                   t: none), -                                       math.lr(body: ({ [(], -                                                        text(body: [x]), -                                                        [)] })) }, -                               numbering: none), -                 parbreak(), -                 math.equation(block: false, -                               body: math.attach(b: { text(body: [f]), -                                                      math.lr(body: ({ [(], -                                                                       text(body: [x]), -                                                                       [)] })) }, -                                                 base: text(body: [a]), -                                                 t: none), -                               numbering: none), -                 parbreak(), -                 math.equation(block: false, -                               body: math.attach(b: { text(body: [j]), -                                                      text(body: [=]), -                                                      text(body: [0]) }, -                                                 base: text(body: [∑]), -                                                 t: text(body: [3])), -                               numbering: none), -                 parbreak(), -                 math.equation(block: false, -                               body: math.attach(b: { text(body: [j]), -                                                      text(body: [=]), -                                                      text(body: [0]) }, -                                                 base: text(body: [∑]), -                                                 t: text(body: [3])), -                               numbering: none), -                 parbreak(), -                 math.equation(block: false, -                               body: math.attach(b: text(body: [3]), -                                                 base: text(body: [∑]), -                                                 t: { text(body: [j]), -                                                      text(body: [=]), -                                                      text(body: [0]) }), -                               numbering: none), -                 parbreak(), -                 math.equation(block: false, -                               body: math.attach(b: text(body: [3]), -                                                 base: text(body: [∑]), -                                                 t: { text(body: [j]), -                                                      text(body: [=]), -                                                      text(body: [0]) }), -                               numbering: none), -                 parbreak(), -                 math.equation(block: false, -                               body: math.attach(b: { text(body: [j]), -                                                      text(body: [=]), -                                                      text(body: [0]) }, -                                                 base: text(body: [∑]), -                                                 t: text(body: [π])), -                               numbering: none), -                 parbreak(), -                 math.equation(block: false, -                               body: math.attach(b: { text(body: [j]), -                                                      text(body: [=]), -                                                      text(body: [0]) }, -                                                 base: text(body: [∑]), -                                                 t: text(body: [π])), -                               numbering: none), -                 parbreak() })
− test/out/regression/issue19.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue19.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue19.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue19.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue19.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "nums")))-       (Array-          [ Reg (Literal (Int 1))-          , Reg (Literal None)-          , Reg (Literal (Int 2))-          ]))-, SoftBreak-, Code-    "test/typ/regression/issue19.typ"-    ( line 3 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "map")) (Ident (Identifier "nums")))-       [ NormalArg-           (FuncExpr-              [ NormalParam (Identifier "num") ]-              (Block-                 (CodeBlock-                    [ If-                        [ ( Equals (Ident (Identifier "num")) (Literal None)-                          , Block (CodeBlock [ Return (Just (Literal (Int 1))) ])-                          )-                        ]-                    , Return-                        (Just-                           (Dict-                              [ Reg-                                  ( FuncCall-                                      (Ident (Identifier "str"))-                                      [ NormalArg (Ident (Identifier "num")) ]-                                  , Literal (Int 1)-                                  )-                              ]))-                    ])))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [((1: 1), 1, (2: 1))]), -                 parbreak() })
− test/out/regression/issue2.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue2.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue2.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue2.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    False-    [ Code-        "test/typ/regression/issue2.typ"-        ( line 2 , column 2 )-        (FuncCall-           (Ident (Identifier "lr"))-           [ BlockArg-               [ Code-                   "test/typ/regression/issue2.typ"-                   ( line 2 , column 6 )-                   (FieldAccess-                      (Ident (Identifier "alpha")) (Ident (Identifier "sym")))-               , Code-                   "test/typ/regression/issue2.typ"-                   ( line 2 , column 16 )-                   (FieldAccess-                      (Ident (Identifier "beta")) (Ident (Identifier "sym")))-               ]-           ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: math.lr(body: ({ text(body: [α]), -                                                      text(body: [β]) })), -                               numbering: none), -                 parbreak() })
− test/out/regression/issue20.out
@@ -1,63 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue20.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue20.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue20.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue20.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "a")))-       (Literal (String "\nThis is a\nmultiline string\n")))-, SoftBreak-, Code-    "test/typ/regression/issue20.typ"-    ( line 6 , column 2 )-    (FuncCall-       (FieldAccess (Ident (Identifier "len")) (Ident (Identifier "a")))-       [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [28]), -                 parbreak() })
− test/out/regression/issue21.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue21.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue21.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue21.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue21.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "version"))-       [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ])-, SoftBreak-, Code-    "test/typ/regression/issue21.typ"-    ( line 3 , column 2 )-    (FuncCall-       (FieldAccess-          (Ident (Identifier "at"))-          (FuncCall-             (Ident (Identifier "version"))-             [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ]))-       [ NormalArg (Literal (Int 3)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [1.2]), -                 text(body: [-]), -                 text(body: [0]), -                 parbreak() })
− test/out/regression/issue21b.out
@@ -1,83 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue21b.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue21b.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue21b.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue21b.typ"-    ( line 2 , column 2 )-    (Import-       (Literal (String "issue19.typ"))-       (NoIdentifiers (Just (Identifier "zeke"))))-, SoftBreak-, Code-    "test/typ/regression/issue21b.typ"-    ( line 3 , column 2 )-    (FieldAccess-       (Ident (Identifier "nums")) (Ident (Identifier "zeke")))-, SoftBreak-, Code-    "test/typ/regression/issue21b.typ"-    ( line 4 , column 2 )-    (Import-       (Literal (String "issue20.typ"))-       (SomeIdentifiers-          [ ( Identifier "a" , Just (Identifier "multiline") ) ]))-, SoftBreak-, Code-    "test/typ/regression/issue21b.typ"-    ( line 5 , column 2 )-    (Ident (Identifier "multiline"))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [(1, none, 2)]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-This is a-multiline string-]), -                 parbreak() })
− test/out/regression/issue23.out
@@ -1,77 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue23.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue23.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue23.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue23.typ"-    ( line 2 , column 2 )-    (LetFunc-       (Identifier "fn")-       []-       (Block-          (CodeBlock-             [ Set-                 (Ident (Identifier "text"))-                 [ KeyValArg (Identifier "fill") (Ident (Identifier "red")) ]-             , If-                 [ ( Literal (Boolean True)-                   , Block (Content [ SoftBreak , Text "test" , ParBreak ])-                   )-                 , ( Literal (Boolean True)-                   , Block (Content [ SoftBreak , Text "test2" , ParBreak ])-                   )-                 ]-             ])))-, ParBreak-, Code-    "test/typ/regression/issue23.typ"-    ( line 11 , column 2 )-    (FuncCall (Ident (Identifier "fn")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [-test], -                      fill: rgb(100%,25%,21%,100%)), -                 parbreak(), -                 parbreak() })
− test/out/regression/issue25.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue25.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue25.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue25.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue25.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "x")))-       (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 5) ) ]))-, SoftBreak-, Code-    "test/typ/regression/issue25.typ"-    ( line 3 , column 2 )-    (Let (BasicBind (Just (Identifier "key"))) (Literal (String "a")))-, SoftBreak-, Code-    "test/typ/regression/issue25.typ"-    ( line 4 , column 2 )-    (Block-       (CodeBlock-          [ Assign-              (FuncCall-                 (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "x")))-                 [ NormalArg (Ident (Identifier "key")) ])-              (Literal (Int 6))-          ]))-, SoftBreak-, Code-    "test/typ/regression/issue25.typ"-    ( line 7 , column 2 )-    (Ident (Identifier "x"))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [(a: 6)]), -                 parbreak() })
− test/out/regression/issue26.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue26.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue26.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue26.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue26.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "x")))-       (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 4) ) ]))-, SoftBreak-, Code-    "test/typ/regression/issue26.typ"-    ( line 3 , column 2 )-    (Block-       (CodeBlock-          [ Assign-              (FuncCall-                 (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "x")))-                 [ NormalArg (Literal (String "b")) ])-              (Literal (Int 5))-          ]))-, SoftBreak-, Code-    "test/typ/regression/issue26.typ"-    ( line 6 , column 2 )-    (Ident (Identifier "x"))-, ParBreak-]-"test/typ/regression/issue26.typ" (line 3, column 2):-Dictionary does not contain key "b"
− test/out/regression/issue3.out
@@ -1,74 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue3.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue3.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue3.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue3.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "alpha")))-       (Dict-          [ Reg-              ( Ident (Identifier "named")-              , Dict-                  [ Reg ( Ident (Identifier "a") , Literal (Int 1) )-                  , Reg ( Ident (Identifier "b") , Literal (Int 2) )-                  ]-              )-          ]))-, SoftBreak-, Code-    "test/typ/regression/issue3.typ"-    ( line 3 , column 2 )-    (Dict-       [ Spr-           (FieldAccess-              (Ident (Identifier "named")) (Ident (Identifier "alpha")))-       , Reg ( Ident (Identifier "c") , Literal (Int 3) )-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [(a: 1, b: 2, c: 3)]), -                 parbreak() })
− test/out/regression/issue41.out
@@ -1,63 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue41.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue41.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue41.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    False-    [ MAttach-        (Just (Text "2"))-        Nothing-        (Code-           "test/typ/regression/issue41.typ"-           ( line 2 , column 2 )-           (FieldAccess-              (Ident (Identifier "circle")) (Ident (Identifier "plus"))))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: math.attach(b: text(body: [2]), -                                                 base: text(body: [⊕]), -                                                 t: none), -                               numbering: none), -                 parbreak() })
− test/out/regression/issue43.out
@@ -1,124 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue43.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue43.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue43.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue43.typ"-    ( line 2 , column 1 )-    (Label "foo:bar")-, ParBreak-, Code-    "test/typ/regression/issue43.typ"-    ( line 4 , column 2 )-    (Let (BasicBind (Just (Identifier "a"))) (Literal (String "a")))-, ParBreak-, Code-    "test/typ/regression/issue43.typ"-    ( line 6 , column 2 )-    (Let-       (BasicBind (Just (Identifier "w")))-       (FuncExpr-          [ NormalParam (Identifier "x") ]-          (Plus-             (Block (Content [ Equation False [ Text "x" ] ]))-             (Ident (Identifier "x")))))-, ParBreak-, Code-    "test/typ/regression/issue43.typ"-    ( line 8 , column 2 )-    (Let-       (BasicBind (Just (Identifier "x")))-       (Block (Content [ RawInline "hello" ])))-, ParBreak-, Code-    "test/typ/regression/issue43.typ"-    ( line 10 , column 2 )-    (Let-       (BasicBind (Just (Identifier "a")))-       (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ]))-, ParBreak-, Code-    "test/typ/regression/issue43.typ"-    ( line 12 , column 2 )-    (Let-       (BasicBind (Just (Identifier "b")))-       (Dict [ Reg ( Ident (Identifier "b") , Literal (Int 2) ) ]))-, ParBreak-, Code-    "test/typ/regression/issue43.typ"-    ( line 14 , column 2 )-    (Let-       (BasicBind (Just (Identifier "c")))-       (Dict [ Reg ( Ident (Identifier "c") , Literal (Int 3) ) ]))-, ParBreak-, Code-    "test/typ/regression/issue43.typ"-    ( line 16 , column 2 )-    (Let-       (BasicBind (Just (Identifier "d")))-       (Dict [ Spr (Ident (Identifier "a")) ]))-, ParBreak-, Code-    "test/typ/regression/issue43.typ"-    ( line 18 , column 2 )-    (Let-       (BasicBind (Just (Identifier "e")))-       (Dict [ Spr (Ident (Identifier "b")) ]))-, ParBreak-, Code-    "test/typ/regression/issue43.typ"-    ( line 20 , column 2 )-    (Let (BasicBind (Just (Identifier "f"))) (Dict []))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 <foo:bar>, -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 parbreak(), -                 parbreak() })
− test/out/regression/issue49.out
@@ -1,52 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue49.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue49.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue49.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Text "\27979\35797\25991\26412"-, Strong [ Text "\21152\31895" ]-, Text "\12290"-, ParBreak-]---- evaluated ----document(body: { text(body: [-测试文本]), -                 strong(body: text(body: [加粗])), -                 text(body: [。]), -                 parbreak() })
− test/out/regression/issue5.out
@@ -1,52 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue5.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue5.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue5.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation True [ MGroup Nothing Nothing [ Text "3" , Text "!" ] ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { text(body: [3]), -                                       text(body: [!]) }, -                               numbering: none), -                 parbreak() })
− test/out/regression/issue50.out
@@ -1,51 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue50.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue50.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue50.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation False [ Text "1." ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: false, -                               body: text(body: [1.]), -                               numbering: none), -                 parbreak() })
− test/out/regression/issue54.out
@@ -1,114 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue54.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue54.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue54.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    True-    [ MAttach-        (Just-           (MGroup-              Nothing-              Nothing-              [ Text "a" , MGroup (Just "(") (Just ")") [ Text "b" ] ]))-        Nothing-        (Text "c")-    , HardBreak-    , MAttach-        (Just (MGroup Nothing Nothing [ Text "a" ])) Nothing (Text "c")-    , MGroup (Just "(") (Just ")") [ Text "b" ]-    , HardBreak-    , MAttach-        (Just (MGroup Nothing Nothing [ Text "a" , Text "!" ]))-        Nothing-        (Text "c")-    , HardBreak-    , MAttach-        (Just (MGroup Nothing Nothing [ Text "a" , Text "!" ]))-        Nothing-        (Text "c")-    , MGroup (Just "(") (Just ")") [ Text "b" ]-    , HardBreak-    , MFrac-        (Text "a")-        (MAttach-           Nothing-           (Just (Text "n"))-           (MGroup Nothing Nothing [ Text "b" , Text "!" ]))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.attach(b: { text(body: [a]), -                                                        math.lr(body: ({ [(], -                                                                         text(body: [b]), -                                                                         [)] })) }, -                                                   base: text(body: [c]), -                                                   t: none), -                                       linebreak(), -                                       math.attach(b: text(body: [a]), -                                                   base: text(body: [c]), -                                                   t: none), -                                       math.lr(body: ({ [(], -                                                        text(body: [b]), -                                                        [)] })), -                                       linebreak(), -                                       math.attach(b: { text(body: [a]), -                                                        text(body: [!]) }, -                                                   base: text(body: [c]), -                                                   t: none), -                                       linebreak(), -                                       math.attach(b: { text(body: [a]), -                                                        text(body: [!]) }, -                                                   base: text(body: [c]), -                                                   t: none), -                                       math.lr(body: ({ [(], -                                                        text(body: [b]), -                                                        [)] })), -                                       linebreak(), -                                       math.frac(denom: math.attach(b: none, -                                                                    base: { text(body: [b]), -                                                                            text(body: [!]) }, -                                                                    t: text(body: [n])), -                                                 num: text(body: [a])) }, -                               numbering: none), -                 parbreak() })
− test/out/regression/issue55.out
@@ -1,76 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue55.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue55.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue55.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    True-    [ MGroup (Just "(") (Just ")") [ Text "b" ]-    , MFrac-        (MGroup (Just "(") (Just ")") [ Text "c" ])-        (MGroup Nothing Nothing [ Text "d" ])-    , Text "!"-    , MFrac-        (MGroup (Just "(") (Just ")") [ Text "a" ])-        (MGroup Nothing Nothing [ Text "b" ])-    , MGroup Nothing Nothing [ HardBreak , Text "!" ]-    , MFrac-        (MGroup (Just "(") (Just ")") [ Text "a" ])-        (MGroup Nothing Nothing [ Text "b" ])-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: { math.lr(body: ({ [(], -                                                        text(body: [b]), -                                                        [)] })), -                                       math.frac(denom: text(body: [d]), -                                                 num: text(body: [c])), -                                       text(body: [!]), -                                       math.frac(denom: text(body: [b]), -                                                 num: text(body: [a])), -                                       linebreak(), -                                       text(body: [!]), -                                       math.frac(denom: text(body: [b]), -                                                 num: text(body: [a])) }, -                               numbering: none), -                 parbreak() })
− test/out/regression/issue59.out
@@ -1,56 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue59.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue59.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue59.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/regression/issue59.typ"-    ( line 2 , column 2 )-    (If-       [ ( Not (Equals (Literal (Int 5)) (Label "foo"))-         , Block (CodeBlock [ Block (Content [ Text "a" ]) ])-         )-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [a]), -                 parbreak() })
− test/out/regression/issue6.out
@@ -1,65 +0,0 @@---- parse tree ----[ Code-    "test/typ/regression/issue6.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/regression/issue6.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/regression/issue6.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Equation-    True-    [ Code-        "test/typ/regression/issue6.typ"-        ( line 2 , column 4 )-        (Let-           (BasicBind (Just (Identifier "g")))-           (Block (Content [ Equation False [ Text "3" ] ])))-    , Code-        "test/typ/regression/issue6.typ"-        ( line 3 , column 2 )-        (Ident (Identifier "g"))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 math.equation(block: true, -                               body: math.equation(block: false, -                                                   body: text(body: [3]), -                                                   numbering: none), -                               numbering: none), -                 parbreak() })
− test/out/regression/issue60.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "typ/regression/issue60.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "typ/regression/issue60.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "typ/regression/issue60.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "typ/regression/issue60.typ"-    ( line 2 , column 2 )-    (Import-       (Literal (String "addons/example.typ"))-       (SomeIdentifiers [ ( Identifier "utf8string" , Nothing ) ]))-, SoftBreak-, Code-    "typ/regression/issue60.typ"-    ( line 3 , column 2 )-    (Ident (Identifier "utf8string"))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [Anything!-]), -                 parbreak() })
− test/out/text/baseline-00.out
@@ -1,193 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/baseline-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/baseline-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/baseline-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, EmDash-, SoftBreak-, Text "Hi"-, Space-, Code-    "test/typ/text/baseline-00.typ"-    ( line 5 , column 5 )-    (FuncCall-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 1.5 Em)) , BlockArg [ Text "You" ] ])-, Text ","-, Space-, Code-    "test/typ/text/baseline-00.typ"-    ( line 5 , column 24 )-    (FuncCall-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 0.75 Em))-       , BlockArg-           [ Text "how" , Space , Text "are" , Space , Text "you?" ]-       ])-, ParBreak-, Text "Our"-, Space-, Text "cockatoo"-, Space-, Text "was"-, Space-, Text "one"-, Space-, Text "of"-, Space-, Text "the"-, SoftBreak-, Code-    "test/typ/text/baseline-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "baseline") (Negated (Literal (Numeric 0.2 Em)))-       , BlockArg-           [ Code-               "test/typ/text/baseline-00.typ"-               ( line 8 , column 26 )-               (FuncCall-                  (Ident (Identifier "box"))-                  [ NormalArg-                      (FuncCall-                         (Ident (Identifier "circle"))-                         [ KeyValArg (Identifier "radius") (Literal (Numeric 2.0 Pt)) ])-                  ])-           , Space-           , Text "first"-           ]-       ])-, SoftBreak-, Code-    "test/typ/text/baseline-00.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "baseline") (Literal (Numeric 0.2 Em))-       , BlockArg-           [ Text "birds"-           , Space-           , Code-               "test/typ/text/baseline-00.typ"-               ( line 9 , column 31 )-               (FuncCall-                  (Ident (Identifier "box"))-                  [ NormalArg-                      (FuncCall-                         (Ident (Identifier "circle"))-                         [ KeyValArg (Identifier "radius") (Literal (Numeric 2.0 Pt)) ])-                  ])-           ]-       ])-, SoftBreak-, Text "that"-, Space-, Text "ever"-, Space-, Text "learned"-, Space-, Text "to"-, Space-, Text "mimic"-, Space-, Text "a"-, Space-, Text "human"-, Space-, Text "voice"-, Text "."-, ParBreak-, EmDash-, SoftBreak-, Text "Hey"-, Space-, Code-    "test/typ/text/baseline-00.typ"-    ( line 13 , column 6 )-    (FuncCall-       (Ident (Identifier "box"))-       [ KeyValArg-           (Identifier "baseline") (Literal (Numeric 40.0 Percent))-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))-              , KeyValArg (Identifier "width") (Literal (Numeric 1.5 Cm))-              ])-       ])-, Space-, Text "there!"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-—-Hi ]), -                 text(body: text(body: [You]), -                      size: 1.5em), -                 text(body: [, ]), -                 text(body: text(body: [how are you?]), -                      size: 0.75em), -                 parbreak(), -                 text(body: [Our cockatoo was one of the-]), -                 text(baseline: -0.2em, -                      body: { box(body: circle(radius: 2.0pt)), -                              text(body: [ first]) }), -                 text(body: [-]), -                 text(baseline: 0.2em, -                      body: { text(body: [birds ]), -                              box(body: circle(radius: 2.0pt)) }), -                 text(body: [-that ever learned to mimic a human voice.]), -                 parbreak(), -                 text(body: [—-Hey ]), -                 box(baseline: 40%, -                     body: image(path: "/assets/files/tiger.jpg", -                                 width: 1.5cm)), -                 text(body: [ there!]), -                 parbreak() })
− test/out/text/case-00.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/case-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/case-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/case-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/case-00.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "memes")))-       (Literal (String "ArE mEmEs gReAt?")))-, SoftBreak-, Code-    "test/typ/text/case-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "lower"))-              [ NormalArg (Ident (Identifier "memes")) ])-       , NormalArg (Literal (String "are memes great?"))-       ])-, SoftBreak-, Code-    "test/typ/text/case-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "upper"))-              [ NormalArg (Ident (Identifier "memes")) ])-       , NormalArg (Literal (String "ARE MEMES GREAT?"))-       ])-, SoftBreak-, Code-    "test/typ/text/case-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "upper"))-              [ NormalArg (Literal (String "\917\955\955\940\948\945")) ])-       , NormalArg (Literal (String "\917\923\923\902\916\913"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 text(body: [-]), -                 text(body: [✅]), -                 parbreak() })
− test/out/text/case-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/chinese-00.out
@@ -1,73 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/chinese-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/chinese-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/chinese-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/chinese-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font") (Literal (String "Noto Serif CJK SC"))-       ])-, ParBreak-, Text-    "\26159\32654\22269\24191\25773\20844\21496\30005\35270\21095\12298\36855\22833\12299\31532\&3\23395\30340\31532\&22\21644\&23\38598\65292\20063\26159\20840\21095\30340\31532\&71\38598\21644\&72\38598"-, SoftBreak-, Text-    "\30001\25191\34892\21046\20316\20154\25140\33945\183\26519\36947\22827\21644\21345\23572\39039\183\24211\26031\32534\21095\65292\23548\28436\21017\26159\21478\19968\21517\25191\34892\21046\20316\20154\26480\20811\183\26412\24503"-, SoftBreak-, Text-    "\33410\30446\20110\&2007\24180\&5\26376\&23\26085\22312\32654\22269\21644\21152\25343\22823\39318\25773\65292\20849\35745\21560\24341\20102\&1400\19975\32654\22269\35266\20247\25910\30475"-, SoftBreak-, Text-    "\26412\38598\21152\19978\25554\25773\24191\21578\19968\20849\20063\25345\32493\26377\20004\20010\23567\26102"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [是美国广播公司电视剧《迷失》第3季的第22和23集,也是全剧的第71集和72集-由执行制作人戴蒙·林道夫和卡尔顿·库斯编剧,导演则是另一名执行制作人杰克·本德-节目于2007年5月23日在美国和加拿大首播,共计吸引了1400万美国观众收看-本集加上插播广告一共也持续有两个小时], -                      font: "Noto Serif CJK SC"), -                 parbreak() })
− test/out/text/copy-paste-00.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/copy-paste-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/copy-paste-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/copy-paste-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Text "The"-, Space-, Text "after"-, Space-, Text "fira"-, Space-, Text "\127987\65039\8205\127752!"-, ParBreak-, Code-    "test/typ/text/copy-paste-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "ar"))-       , KeyValArg-           (Identifier "font") (Literal (String "Noto Sans Arabic"))-       ])-, SoftBreak-, Text "\1605\1585\1581\1576\1611\1575"-, ParBreak-]---- evaluated ----document(body: { text(body: [-The after fira 🏳️‍🌈!]), -                 parbreak(), -                 text(body: [-مرحبًا], -                      font: "Noto Sans Arabic", -                      lang: "ar"), -                 parbreak() })
− test/out/text/deco-00.out
@@ -1,170 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/deco-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/deco-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/deco-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/deco-00.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "red")))-       (FuncCall-          (Ident (Identifier "rgb"))-          [ NormalArg (Literal (String "fc0030")) ]))-, ParBreak-, Comment-, Code-    "test/typ/text/deco-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "strike"))-       [ BlockArg-           [ Text "Statements"-           , Space-           , Text "dreamt"-           , Space-           , Text "up"-           , Space-           , Text "by"-           , Space-           , Text "the"-           , Space-           , Text "utterly"-           , Space-           , Text "deranged"-           , Text "."-           ]-       ])-, ParBreak-, Comment-, Code-    "test/typ/text/deco-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "underline"))-       [ KeyValArg (Identifier "offset") (Literal (Numeric 5.0 Pt))-       , BlockArg [ Text "Further" , Space , Text "below" , Text "." ]-       ])-, ParBreak-, Comment-, Code-    "test/typ/text/deco-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "underline"))-       [ KeyValArg (Identifier "stroke") (Ident (Identifier "red"))-       , KeyValArg (Identifier "evade") (Literal (Boolean False))-       , BlockArg-           [ Text "Critical"-           , Space-           , Text "information"-           , Space-           , Text "is"-           , Space-           , Text "conveyed"-           , Space-           , Text "here"-           , Text "."-           ]-       ])-, ParBreak-, Comment-, Code-    "test/typ/text/deco-00.typ"-    ( line 14 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "underline"))-              [ BlockArg-                  [ Text "Change"-                  , Space-                  , Text "with"-                  , Space-                  , Text "the"-                  , Space-                  , Text "wind"-                  , Text "."-                  ]-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/text/deco-00.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "overline"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "underline"))-              [ BlockArg-                  [ Text "Running"-                  , Space-                  , Text "amongst"-                  , Space-                  , Text "the"-                  , Space-                  , Text "wolves"-                  , Text "."-                  ]-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 strike(body: text(body: [Statements dreamt up by the utterly deranged.])), -                 parbreak(), -                 underline(body: text(body: [Further below.]), -                           offset: 5.0pt), -                 parbreak(), -                 underline(body: text(body: [Critical information is conveyed here.]), -                           evade: false, -                           stroke: rgb(98%,0%,18%,100%)), -                 parbreak(), -                 text(body: underline(body: text(body: [Change with the wind.])), -                      fill: rgb(98%,0%,18%,100%)), -                 parbreak(), -                 overline(body: underline(body: text(body: [Running amongst the wolves.]))), -                 parbreak() })
− test/out/text/deco-01.out
@@ -1,125 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/deco-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/deco-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/deco-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/deco-01.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "redact")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "strike")))-          [ KeyValArg (Identifier "stroke") (Literal (Numeric 10.0 Pt))-          , KeyValArg (Identifier "extent") (Literal (Numeric 5.0e-2 Em))-          ]))-, SoftBreak-, Code-    "test/typ/text/deco-01.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "highlight")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "strike")))-          [ KeyValArg-              (Identifier "stroke")-              (Plus-                 (Literal (Numeric 10.0 Pt))-                 (FuncCall-                    (Ident (Identifier "rgb"))-                    [ NormalArg (Literal (String "abcdef88")) ]))-          , KeyValArg (Identifier "extent") (Literal (Numeric 5.0e-2 Em))-          ]))-, ParBreak-, Comment-, Text "Sometimes,"-, Space-, Text "we"-, Space-, Text "work"-, Space-, Code-    "test/typ/text/deco-01.typ"-    ( line 6 , column 21 )-    (FuncCall-       (Ident (Identifier "redact"))-       [ BlockArg [ Text "in" , Space , Text "secret" ] ])-, Text "."-, SoftBreak-, Text "There"-, Space-, Text "might"-, Space-, Text "be"-, Space-, Code-    "test/typ/text/deco-01.typ"-    ( line 7 , column 17 )-    (FuncCall-       (Ident (Identifier "highlight")) [ BlockArg [ Text "redacted" ] ])-, Space-, Text "things"-, Text "."-, SoftBreak-, Text "underline"-, Text "("-, Text ")"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [Sometimes, we work ]), -                 strike(body: text(body: [in secret]), -                        extent: 5.0e-2em, -                        stroke: 10.0pt), -                 text(body: [.-There might be ]), -                 strike(body: text(body: [redacted]), -                        extent: 5.0e-2em, -                        stroke: (thickness: 10.0pt,-                                 color: rgb(67%,80%,93%,53%))), -                 text(body: [ things.-underline()]), -                 parbreak() })
− test/out/text/deco-02.out
@@ -1,75 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/deco-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/deco-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/deco-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/deco-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "underline"))-       [ KeyValArg (Identifier "stroke") (Literal (Numeric 2.0 Pt))-       , KeyValArg (Identifier "offset") (Literal (Numeric 2.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/text/deco-02.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "underline"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "text"))-              [ NormalArg (Ident (Identifier "red"))-              , NormalArg (Block (Content [ Text "DANGER!" ]))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 underline(body: text(body: text(body: [DANGER!]), -                                      color: rgb(100%,25%,21%,100%)), -                           offset: 2.0pt, -                           stroke: 2.0pt), -                 parbreak() })
− test/out/text/edge-00.out
@@ -1,333 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/edge-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/edge-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/edge-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/edge-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 160.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/edge-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "size") (Literal (Numeric 8.0 Pt)) ])-, ParBreak-, Code-    "test/typ/text/edge-00.typ"-    ( line 5 , column 2 )-    (LetFunc-       (Identifier "try")-       [ NormalParam (Identifier "top")-       , NormalParam (Identifier "bottom")-       ]-       (FuncCall-          (Ident (Identifier "rect"))-          [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))-          , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-          , BlockArg-              [ SoftBreak-              , Code-                  "test/typ/text/edge-00.typ"-                  ( line 6 , column 4 )-                  (Set-                     (Ident (Identifier "text"))-                     [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Mono"))-                     , KeyValArg (Identifier "top-edge") (Ident (Identifier "top"))-                     , KeyValArg-                         (Identifier "bottom-edge") (Ident (Identifier "bottom"))-                     ])-              , SoftBreak-              , Text "From"-              , Space-              , Code-                  "test/typ/text/edge-00.typ"-                  ( line 7 , column 9 )-                  (Ident (Identifier "top"))-              , Space-              , Text "to"-              , Space-              , Code-                  "test/typ/text/edge-00.typ"-                  ( line 7 , column 17 )-                  (Ident (Identifier "bottom"))-              , ParBreak-              ]-          ]))-, ParBreak-, Code-    "test/typ/text/edge-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "try"))-       [ NormalArg (Literal (String "ascender"))-       , NormalArg (Literal (String "descender"))-       ])-, SoftBreak-, Code-    "test/typ/text/edge-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "try"))-       [ NormalArg (Literal (String "ascender"))-       , NormalArg (Literal (String "baseline"))-       ])-, SoftBreak-, Code-    "test/typ/text/edge-00.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "try"))-       [ NormalArg (Literal (String "cap-height"))-       , NormalArg (Literal (String "baseline"))-       ])-, SoftBreak-, Code-    "test/typ/text/edge-00.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "try"))-       [ NormalArg (Literal (String "x-height"))-       , NormalArg (Literal (String "baseline"))-       ])-, SoftBreak-, Code-    "test/typ/text/edge-00.typ"-    ( line 14 , column 2 )-    (FuncCall-       (Ident (Identifier "try"))-       [ NormalArg (Literal (Numeric 4.0 Pt))-       , NormalArg (Negated (Literal (Numeric 2.0 Pt)))-       ])-, SoftBreak-, Code-    "test/typ/text/edge-00.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "try"))-       [ NormalArg-           (Plus (Literal (Numeric 1.0 Pt)) (Literal (Numeric 0.3 Em)))-       , NormalArg (Negated (Literal (Numeric 0.15 Em)))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 parbreak(), -                 rect(body: { text(body: [-], -                                   size: 8.0pt), -                              text(body: [-From ], -                                   bottom-edge: "descender", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "ascender"), -                              text(body: [ascender], -                                   bottom-edge: "descender", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "ascender"), -                              text(body: [ to ], -                                   bottom-edge: "descender", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "ascender"), -                              text(body: [descender], -                                   bottom-edge: "descender", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "ascender"), -                              parbreak() }, -                      fill: rgb(18%,80%,25%,100%), -                      inset: 0.0pt), -                 text(body: [-], size: 8.0pt), -                 rect(body: { text(body: [-], -                                   size: 8.0pt), -                              text(body: [-From ], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "ascender"), -                              text(body: [ascender], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "ascender"), -                              text(body: [ to ], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "ascender"), -                              text(body: [baseline], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "ascender"), -                              parbreak() }, -                      fill: rgb(18%,80%,25%,100%), -                      inset: 0.0pt), -                 text(body: [-], size: 8.0pt), -                 rect(body: { text(body: [-], -                                   size: 8.0pt), -                              text(body: [-From ], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "cap-height"), -                              text(body: [cap-height], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "cap-height"), -                              text(body: [ to ], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "cap-height"), -                              text(body: [baseline], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "cap-height"), -                              parbreak() }, -                      fill: rgb(18%,80%,25%,100%), -                      inset: 0.0pt), -                 text(body: [-], size: 8.0pt), -                 rect(body: { text(body: [-], -                                   size: 8.0pt), -                              text(body: [-From ], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "x-height"), -                              text(body: [x-height], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "x-height"), -                              text(body: [ to ], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "x-height"), -                              text(body: [baseline], -                                   bottom-edge: "baseline", -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: "x-height"), -                              parbreak() }, -                      fill: rgb(18%,80%,25%,100%), -                      inset: 0.0pt), -                 text(body: [-], size: 8.0pt), -                 rect(body: { text(body: [-], -                                   size: 8.0pt), -                              text(body: [-From ], -                                   bottom-edge: -2.0pt, -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: 4.0pt), -                              text(body: [4.0pt], -                                   bottom-edge: -2.0pt, -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: 4.0pt), -                              text(body: [ to ], -                                   bottom-edge: -2.0pt, -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: 4.0pt), -                              text(body: [-2.0pt], -                                   bottom-edge: -2.0pt, -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: 4.0pt), -                              parbreak() }, -                      fill: rgb(18%,80%,25%,100%), -                      inset: 0.0pt), -                 text(body: [-], size: 8.0pt), -                 rect(body: { text(body: [-], -                                   size: 8.0pt), -                              text(body: [-From ], -                                   bottom-edge: -0.15em, -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: 1.0pt + 0.3em), -                              text(body: [1.0pt + 0.3em], -                                   bottom-edge: -0.15em, -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: 1.0pt + 0.3em), -                              text(body: [ to ], -                                   bottom-edge: -0.15em, -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: 1.0pt + 0.3em), -                              text(body: [-0.15em], -                                   bottom-edge: -0.15em, -                                   font: "IBM Plex Mono", -                                   size: 8.0pt, -                                   top-edge: 1.0pt + 0.3em), -                              parbreak() }, -                      fill: rgb(18%,80%,25%,100%), -                      inset: 0.0pt), -                 parbreak() })
− test/out/text/edge-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/edge-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/em-00.out
@@ -1,150 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/em-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/em-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/em-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/em-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "size") (Literal (Numeric 5.0 Pt)) ])-, SoftBreak-, Text "A"-, Space-, Comment-, Code-    "test/typ/text/em-00.typ"-    ( line 4 , column 2 )-    (Block-       (Content-          [ SoftBreak-          , Code-              "test/typ/text/em-00.typ"-              ( line 5 , column 4 )-              (Set-                 (Ident (Identifier "text"))-                 [ KeyValArg (Identifier "size") (Literal (Numeric 2.0 Em)) ])-          , SoftBreak-          , Text "B"-          , Space-          , Comment-          , Space-          , Code-              "test/typ/text/em-00.typ"-              ( line 7 , column 4 )-              (Block-                 (Content-                    [ SoftBreak-                    , Code-                        "test/typ/text/em-00.typ"-                        ( line 8 , column 6 )-                        (Set-                           (Ident (Identifier "text"))-                           [ KeyValArg-                               (Identifier "size")-                               (Plus (Literal (Numeric 1.5 Em)) (Literal (Numeric 1.0 Pt)))-                           ])-                    , SoftBreak-                    , Text "C"-                    , Space-                    , Comment-                    , Space-                    , Code-                        "test/typ/text/em-00.typ"-                        ( line 10 , column 6 )-                        (FuncCall-                           (Ident (Identifier "text"))-                           [ KeyValArg (Identifier "size") (Literal (Numeric 2.0 Em))-                           , BlockArg [ Text "D" ]-                           ])-                    , Space-                    , Comment-                    , Space-                    , Text "E"-                    , Space-                    , Comment-                    , Space-                    ]))-          , SoftBreak-          , Text "F"-          , Space-          , Comment-          ]))-, SoftBreak-, Text "G"-, Space-, Comment-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-A ], -                      size: 5.0pt), -                 text(body: [-], size: 5.0pt), -                 text(body: [-B ], -                      size: 2.0em), -                 text(body: [ ], size: 2.0em), -                 text(body: [-], size: 2.0em), -                 text(body: [-C ], -                      size: 1.5em + 1.0pt), -                 text(body: [ ], -                      size: 1.5em + 1.0pt), -                 text(body: text(body: [D], -                                 size: 1.5em + 1.0pt), -                      size: 2.0em), -                 text(body: [ ], -                      size: 1.5em + 1.0pt), -                 text(body: [ E ], -                      size: 1.5em + 1.0pt), -                 text(body: [ ], -                      size: 1.5em + 1.0pt), -                 text(body: [-F ], -                      size: 1.5em + 1.0pt), -                 text(body: [-G ], -                      size: 1.5em + 1.0pt), -                 parbreak() })
− test/out/text/em-01.out
@@ -1,120 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/em-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/em-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/em-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/em-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "size") (Literal (Numeric 5.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/em-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "size") (Literal (Numeric 2.0 Em)) ])-, SoftBreak-, Code-    "test/typ/text/em-01.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "red")) ])-, ParBreak-, Code-    "test/typ/text/em-01.typ"-    ( line 7 , column 2 )-    (Let-       (BasicBind (Just (Identifier "size")))-       (Block-          (CodeBlock-             [ Let-                 (BasicBind (Just (Identifier "size")))-                 (Plus (Literal (Numeric 0.25 Em)) (Literal (Numeric 1.0 Pt)))-             , For-                 (BasicBind Nothing)-                 (FuncCall-                    (Ident (Identifier "range")) [ NormalArg (Literal (Int 3)) ])-                 (Block-                    (CodeBlock-                       [ Assign-                           (Ident (Identifier "size"))-                           (Times (Ident (Identifier "size")) (Literal (Int 2)))-                       ]))-             , Minus (Ident (Identifier "size")) (Literal (Numeric 3.0 Pt))-             ])))-, ParBreak-, Code-    "test/typ/text/em-01.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "square"))-              [ KeyValArg (Identifier "size") (Ident (Identifier "size")) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "square"))-              [ KeyValArg (Identifier "size") (Literal (Numeric 25.0 Pt)) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], size: 5.0pt), -                 text(body: [-], size: 2.0em), -                 parbreak(), -                 parbreak(), -                 stack(children: (square(fill: rgb(100%,25%,21%,100%), -                                         size: (2.0em + 8.0pt) + -3.0pt), -                                  square(fill: rgb(100%,25%,21%,100%), -                                         size: 25.0pt)), -                       dir: ltr, -                       spacing: 1.0fr), -                 parbreak() })
− test/out/text/emoji-00.out
@@ -1,65 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/emoji-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/emoji-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/emoji-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "\128105\8205\128105\8205\128102"-, ParBreak-, Comment-, Text "\127987\65039\8205\127752"-, ParBreak-, Comment-, Text "\128077\127999"-, ParBreak-, Comment-, Text "1\65039\8419"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [👩‍👩‍👦]), -                 parbreak(), -                 text(body: [🏳️‍🌈]), -                 parbreak(), -                 text(body: [👍🏿]), -                 parbreak(), -                 text(body: [1️⃣]), -                 parbreak() })
− test/out/text/emoji-01.out
@@ -1,50 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/emoji-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/emoji-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/emoji-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "\127966\8205\127755"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [🏞‍🌋]), -                 parbreak() })
− test/out/text/emphasis-00.out
@@ -1,84 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/emphasis-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/emphasis-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/emphasis-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Emph-    [ Text "Emphasized"-    , Space-    , Text "and"-    , Space-    , Strong [ Text "strong" ]-    , Space-    , Text "words!"-    ]-, ParBreak-, Comment-, Text "hello_world"-, Space-, Text "Nutzer*innen"-, ParBreak-, Comment-, Emph-    [ Text "Still"-    , Space-    , Code-        "test/typ/text/emphasis-00.typ"-        ( line 9 , column 9 )-        (Block (Content [ ParBreak ]))-    , Space-    , Text "emphasized"-    , Text "."-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 emph(body: { text(body: [Emphasized and ]), -                              strong(body: text(body: [strong])), -                              text(body: [ words!]) }), -                 parbreak(), -                 text(body: [hello_world Nutzer*innen]), -                 parbreak(), -                 emph(body: { text(body: [Still ]), -                              parbreak(), -                              text(body: [ emphasized.]) }), -                 parbreak() })
− test/out/text/emphasis-01.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/emphasis-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/emphasis-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/emphasis-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "P"-, Code-    "test/typ/text/emphasis-01.typ"-    ( line 3 , column 3 )-    (FuncCall-       (Ident (Identifier "strong")) [ BlockArg [ Text "art" ] ])-, Text "ly"-, Space-, Text "em"-, Code-    "test/typ/text/emphasis-01.typ"-    ( line 3 , column 20 )-    (FuncCall (Ident (Identifier "emph")) [ BlockArg [ Text "phas" ] ])-, Text "ized"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [P]), -                 strong(body: text(body: [art])), -                 text(body: [ly em]), -                 emph(body: text(body: [phas])), -                 text(body: [ized.]), -                 parbreak() })
− test/out/text/emphasis-02.out
@@ -1,91 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/emphasis-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/emphasis-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/emphasis-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Normal"-, ParBreak-, Code-    "test/typ/text/emphasis-02.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "strong"))-       [ KeyValArg (Identifier "delta") (Literal (Int 300)) ])-, SoftBreak-, Strong [ Text "Bold" ]-, ParBreak-, Code-    "test/typ/text/emphasis-02.typ"-    ( line 8 , column 2 )-    (Set-       (Ident (Identifier "strong"))-       [ KeyValArg (Identifier "delta") (Literal (Int 150)) ])-, SoftBreak-, Strong [ Text "Medium" ]-, Space-, Text "and"-, Space-, Strong-    [ Code-        "test/typ/text/emphasis-02.typ"-        ( line 9 , column 16 )-        (Block (Content [ Strong [ Text "Bold" ] ]))-    ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Normal]), -                 parbreak(), -                 text(body: [-]), -                 strong(body: text(body: [Bold]), -                        delta: 300), -                 parbreak(), -                 text(body: [-]), -                 strong(body: text(body: [Medium]), -                        delta: 150), -                 text(body: [ and ]), -                 strong(body: strong(body: text(body: [Bold]), -                                     delta: 150), -                        delta: 150), -                 parbreak() })
− test/out/text/emphasis-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/emphasis-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/emphasis-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/escape-00.out
@@ -1,187 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/escape-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/escape-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/escape-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "\\"-, Space-, Text "/"-, Space-, Text "["-, Space-, Text "]"-, Space-, Text "{"-, Space-, Text "}"-, Space-, Text "#"-, Space-, Text "*"-, Space-, Text "_"-, Space-, Text "+"-, Space-, Text "="-, Space-, Text "~"-, Space-, HardBreak-, Text "`"-, Space-, Text "$"-, Space-, Text "\""-, Space-, Text "'"-, Space-, Text "<"-, Space-, Text ">"-, Space-, Text "@"-, Space-, Text "("-, Space-, Text ")"-, Space-, Text "A"-, ParBreak-, Comment-, Text "("-, Space-, Text ")"-, Space-, Text ";"-, ParBreak-, Comment-, Text "/"-, Text "/"-, SoftBreak-, Text "/"-, Text "*"-, Space-, Text "*"-, Text "/"-, SoftBreak-, Text "/"-, Strong [ Space , Text "*" , Text "/" , Space ]-, ParBreak-, Comment-, Text "\127957"-, Space-, Text "="-, Text "="-, Space-, Text "\127957"-, ParBreak-, Comment-, Text "A"-, Space-, Text "vs"-, Text "."-, Space-, Text "\\"-, Text "u"-, Text "{"-, Text "41"-, Text "}"-, ParBreak-, Comment-, Text "let"-, Space-, Text "f"-, Text "("-, Text ")"-, Space-, Text ","-, Space-, Text ";"-, Space-, Text ":"-, Space-, Text "|"-, Space-, Text "+"-, Space-, Text "-"-, Space-, Text "/"-, Text "="-, Space-, Text "="-, Text "="-, Space-, Text "12"-, Space-, Quote '"'-, Text "string"-, Quote '"'-, ParBreak-, Comment-, Text "10"-, Text "."-, Space-, Text "May"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [\ / [ ] { } # * _ + = ~ ]), -                 linebreak(), -                 text(body: [` $ " ' < > @ ( ) A]), -                 parbreak(), -                 text(body: [( ) ;]), -                 parbreak(), -                 text(body: [//-/* */-/]), -                 strong(body: text(body: [ */ ])), -                 parbreak(), -                 text(body: [🏕 == 🏕]), -                 parbreak(), -                 text(body: [A vs. \u{41}]), -                 parbreak(), -                 text(body: [let f() , ; : | + - /= == 12 “string”]), -                 parbreak(), -                 text(body: [10. May]), -                 parbreak() })
− test/out/text/escape-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/escape-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/fallback-00.out
@@ -1,81 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/fallback-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/fallback-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/fallback-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A\128512B"-, ParBreak-, Comment-, Text "\1583\1593"-, Space-, Text "\1575\1604\1606\1589"-, Space-, Text "\1610\1605\1591\1585"-, Space-, Text "\1593\1604\1610\1603"-, ParBreak-, Comment-, Text "\1576\128008\128512\1587\1605"-, ParBreak-, Comment-, Text "A\1576\128512\127966\1587\1605B"-, ParBreak-, Comment-, Text "01\65039\8419\&2"-, ParBreak-, Comment-, Text "A\128008\4850\4638B"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A😀B]), -                 parbreak(), -                 text(body: [دع النص يمطر عليك]), -                 parbreak(), -                 text(body: [ب🐈😀سم]), -                 parbreak(), -                 text(body: [Aب😀🏞سمB]), -                 parbreak(), -                 text(body: [01️⃣2]), -                 parbreak(), -                 text(body: [A🐈ዲሞB]), -                 parbreak() })
− test/out/text/features-00.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/features-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/features-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/features-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/features-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "kerning") (Literal (Boolean True))-       , BlockArg [ Text "Tq" ]-       ])-, Space-, HardBreak-, Code-    "test/typ/text/features-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "kerning") (Literal (Boolean False))-       , BlockArg [ Text "Tq" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: text(body: [Tq]), -                      kerning: true), -                 text(body: [ ]), -                 linebreak(), -                 text(body: text(body: [Tq]), -                      kerning: false), -                 parbreak() })
− test/out/text/features-01.out
@@ -1,54 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/features-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/features-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/features-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/features-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "smallcaps")) [ BlockArg [ Text "Smallcaps" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 smallcaps(body: text(body: [Smallcaps])), -                 parbreak() })
− test/out/text/features-02.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/features-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/features-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/features-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/features-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))-       ])-, SoftBreak-, Text "a"-, Space-, Text "vs"-, Space-, Code-    "test/typ/text/features-02.typ"-    ( line 4 , column 7 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "alternates") (Literal (Boolean True))-       , BlockArg [ Text "a" ]-       ])-, Space-, HardBreak-, Text "\223"-, Space-, Text "vs"-, Space-, Code-    "test/typ/text/features-02.typ"-    ( line 5 , column 7 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "stylistic-set") (Literal (Int 5))-       , BlockArg [ Text "\223" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-a vs ], -                      font: "IBM Plex Serif"), -                 text(alternates: true, -                      body: text(body: [a], -                                 font: "IBM Plex Serif"), -                      font: "IBM Plex Serif"), -                 text(body: [ ], -                      font: "IBM Plex Serif"), -                 linebreak(), -                 text(body: [ß vs ], -                      font: "IBM Plex Serif"), -                 text(body: text(body: [ß], -                                 font: "IBM Plex Serif"), -                      font: "IBM Plex Serif", -                      stylistic-set: 5), -                 parbreak() })
− test/out/text/features-03.out
@@ -1,64 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/features-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/features-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/features-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "fi"-, Space-, Text "vs"-, Text "."-, Space-, Code-    "test/typ/text/features-03.typ"-    ( line 3 , column 9 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "ligatures") (Literal (Boolean False))-       , BlockArg [ Text "No" , Space , Text "fi" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [fi vs. ]), -                 text(body: text(body: [No fi]), -                      ligatures: false), -                 parbreak() })
− test/out/text/features-04.out
@@ -1,75 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/features-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/features-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/features-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/features-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "number-type") (Literal (String "old-style"))-       ])-, SoftBreak-, Text "0123456789"-, Space-, HardBreak-, Code-    "test/typ/text/features-04.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "number-type") (Literal Auto)-       , BlockArg [ Text "0123456789" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-0123456789 ], -                      number-type: "old-style"), -                 linebreak(), -                 text(body: text(body: [0123456789], -                                 number-type: "old-style"), -                      number-type: auto), -                 parbreak() })
− test/out/text/features-05.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/features-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/features-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/features-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/features-05.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "number-width") (Literal (String "proportional"))-       , BlockArg [ Text "0123456789" ]-       ])-, Space-, HardBreak-, Code-    "test/typ/text/features-05.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "number-width") (Literal (String "tabular"))-       , BlockArg [ Text "3456789123" ]-       ])-, Space-, HardBreak-, Code-    "test/typ/text/features-05.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "number-width") (Literal (String "tabular"))-       , BlockArg [ Text "0123456789" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: text(body: [0123456789]), -                      number-width: "proportional"), -                 text(body: [ ]), -                 linebreak(), -                 text(body: text(body: [3456789123]), -                      number-width: "tabular"), -                 text(body: [ ]), -                 linebreak(), -                 text(body: text(body: [0123456789]), -                      number-width: "tabular"), -                 parbreak() })
− test/out/text/features-06.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/features-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/features-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/features-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/features-06.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))-       ])-, SoftBreak-, Text "0"-, Space-, Text "vs"-, Text "."-, Space-, Code-    "test/typ/text/features-06.typ"-    ( line 4 , column 8 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "slashed-zero") (Literal (Boolean True))-       , BlockArg [ Text "0" ]-       ])-, Space-, HardBreak-, Text "1"-, Text "/"-, Text "2"-, Space-, Text "vs"-, Text "."-, Space-, Code-    "test/typ/text/features-06.typ"-    ( line 5 , column 10 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "fractions") (Literal (Boolean True))-       , BlockArg [ Text "1" , Text "/" , Text "2" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-0 vs. ], -                      font: "IBM Plex Serif"), -                 text(body: text(body: [0], -                                 font: "IBM Plex Serif"), -                      font: "IBM Plex Serif", -                      slashed-zero: true), -                 text(body: [ ], -                      font: "IBM Plex Serif"), -                 linebreak(), -                 text(body: [1/2 vs. ], -                      font: "IBM Plex Serif"), -                 text(body: text(body: [1/2], -                                 font: "IBM Plex Serif"), -                      font: "IBM Plex Serif", -                      fractions: true), -                 parbreak() })
− test/out/text/features-07.out
@@ -1,81 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/features-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/features-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/features-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/features-07.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "features") (Array [ Reg (Literal (String "smcp")) ])-       , BlockArg [ Text "Smcp" ]-       ])-, Space-, HardBreak-, Text "fi"-, Space-, Text "vs"-, Text "."-, Space-, Code-    "test/typ/text/features-07.typ"-    ( line 4 , column 9 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "features")-           (Dict [ Reg ( Ident (Identifier "liga") , Literal (Int 0) ) ])-       , BlockArg [ Text "No" , Space , Text "fi" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: text(body: [Smcp]), -                      features: ("smcp")), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [fi vs. ]), -                 text(body: text(body: [No fi]), -                      features: (liga: 0)), -                 parbreak() })
− test/out/text/features-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/features-09.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/features-10.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/features-11.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/features-12.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/font-00.out
@@ -1,239 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/font-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/font-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/font-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/font-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 20.0 Pt)) , BlockArg [ Text "A" ] ])-, SoftBreak-, Code-    "test/typ/text/font-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 2.0 Em)) , BlockArg [ Text "A" ] ])-, SoftBreak-, Code-    "test/typ/text/font-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "size")-           (Plus (Literal (Numeric 15.0 Pt)) (Literal (Numeric 0.5 Em)))-       , BlockArg [ Text "A" ]-       ])-, ParBreak-, Comment-, Code-    "test/typ/text/font-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "text")) [ BlockArg [ Text "Normal" ] ])-, ParBreak-, Comment-, Code-    "test/typ/text/font-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "style") (Literal (String "italic"))-       , BlockArg [ Text "Italic" ]-       ])-, ParBreak-, Comment-, Code-    "test/typ/text/font-00.typ"-    ( line 14 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "weight") (Literal (String "bold"))-       , BlockArg [ Text "Bold" ]-       ])-, ParBreak-, Comment-, Code-    "test/typ/text/font-00.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "stretch") (Literal (Numeric 50.0 Percent))-       , BlockArg [ Text "Condensed" ]-       ])-, ParBreak-, Comment-, Code-    "test/typ/text/font-00.typ"-    ( line 20 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))-       , BlockArg [ Text "Serif" ]-       ])-, ParBreak-, Comment-, Text "Emoji"-, Text ":"-, Space-, Text "\128042,"-, Space-, Text "\127755,"-, Space-, Text "\127966"-, ParBreak-, Comment-, Code-    "test/typ/text/font-00.typ"-    ( line 26 , column 2 )-    (Block-       (Content-          [ SoftBreak-          , Code-              "test/typ/text/font-00.typ"-              ( line 27 , column 4 )-              (Set-                 (Ident (Identifier "text"))-                 [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern")) ])-          , SoftBreak-          , Text "This"-          , Space-          , Text "is"-          , Space-          , Code-              "test/typ/text/font-00.typ"-              ( line 28 , column 12 )-              (FuncCall-                 (Ident (Identifier "text"))-                 [ NormalArg-                     (FuncCall-                        (Ident (Identifier "rgb"))-                        [ NormalArg (Literal (String "FA644B")) ])-                 , BlockArg [ Text "way" , Space , Text "more" ]-                 ])-          , Space-          , Text "colorful"-          , Text "."-          , ParBreak-          ]))-, ParBreak-, Comment-, Comment-, Code-    "test/typ/text/font-00.typ"-    ( line 33 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font")-           (Array-              [ Reg (Literal (String "PT Sans"))-              , Reg (Literal (String "Twitter Color Emoji"))-              ])-       , KeyValArg (Identifier "fallback") (Literal (Boolean False))-       ])-, SoftBreak-, Text "2\960"-, Space-, Text "="-, Space-, Text "\120572"-, Space-, Text "+"-, Space-, Text "\120573"-, Text "."-, Space-, Text "\9989"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: text(body: [A]), -                      size: 20.0pt), -                 text(body: [-]), -                 text(body: text(body: [A]), -                      size: 2.0em), -                 text(body: [-]), -                 text(body: text(body: [A]), -                      size: 15.0pt + 0.5em), -                 parbreak(), -                 text(body: text(body: [Normal])), -                 parbreak(), -                 text(body: text(body: [Italic]), -                      style: "italic"), -                 parbreak(), -                 text(body: text(body: [Bold]), -                      weight: "bold"), -                 parbreak(), -                 text(body: text(body: [Condensed]), -                      stretch: 50%), -                 parbreak(), -                 text(body: text(body: [Serif]), -                      font: "IBM Plex Serif"), -                 parbreak(), -                 text(body: [Emoji: 🐪, 🌋, 🏞]), -                 parbreak(), -                 text(body: [-]), -                 text(body: [-This is ], -                      fill: rgb(13%,61%,67%,100%)), -                 text(body: text(body: [way more], -                                 fill: rgb(13%,61%,67%,100%)), -                      color: rgb(98%,39%,29%,100%), -                      fill: rgb(13%,61%,67%,100%)), -                 text(body: [ colorful.], -                      fill: rgb(13%,61%,67%,100%)), -                 parbreak(), -                 parbreak(), -                 text(body: [-2π = 𝛼 + 𝛽. ✅], -                      fallback: false, -                      fill: rgb(13%,61%,67%,100%), -                      font: ("PT Sans", -                             "Twitter Color Emoji")), -                 parbreak() })
− test/out/text/font-01.out
@@ -1,122 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/font-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/font-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/font-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/font-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ NormalArg (Literal (String "Text")) ])-, Space-, HardBreak-, Code-    "test/typ/text/font-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ NormalArg (Ident (Identifier "red"))-       , NormalArg (Literal (String "Text"))-       ])-, Space-, HardBreak-, Code-    "test/typ/text/font-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "Ubuntu"))-       , NormalArg (Ident (Identifier "blue"))-       , NormalArg (Literal (String "Text"))-       ])-, Space-, HardBreak-, Code-    "test/typ/text/font-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ NormalArg (Block (Content [ Text "Text" ]))-       , NormalArg (Ident (Identifier "teal"))-       , KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))-       ])-, Space-, HardBreak-, Code-    "test/typ/text/font-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ NormalArg (Ident (Identifier "red"))-       , KeyValArg-           (Identifier "font") (Literal (String "New Computer Modern"))-       , NormalArg (Block (Content [ Text "Text" ]))-       ])-, Space-, HardBreak-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: "Text"), -                 text(body: [ ]), -                 linebreak(), -                 text(body: "Text", -                      color: rgb(100%,25%,21%,100%)), -                 text(body: [ ]), -                 linebreak(), -                 text(body: "Text", -                      color: rgb(0%,45%,85%,100%), -                      font: "Ubuntu"), -                 text(body: [ ]), -                 linebreak(), -                 text(body: text(body: [Text]), -                      color: rgb(22%,80%,80%,100%), -                      font: "IBM Plex Serif"), -                 text(body: [ ]), -                 linebreak(), -                 text(body: text(body: [Text]), -                      color: rgb(100%,25%,21%,100%), -                      font: "New Computer Modern"), -                 text(body: [ ]), -                 linebreak(), -                 parbreak() })
− test/out/text/font-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/font-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/font-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/font-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/hyphenate-00.out
@@ -1,114 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/hyphenate-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/hyphenate-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/hyphenate-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/hyphenate-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True)) ])-, SoftBreak-, Code-    "test/typ/text/hyphenate-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal Auto) ])-, SoftBreak-, Code-    "test/typ/text/hyphenate-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Array-              [ Reg (Literal (Numeric 50.0 Pt))-              , Reg (Literal (Numeric 50.0 Pt))-              ])-       , NormalArg-           (Block-              (Content-                 [ Text "Warm"-                 , Space-                 , Text "welcomes"-                 , Space-                 , Text "to"-                 , Space-                 , Text "Typst"-                 , Text "."-                 ]))-       , NormalArg-           (FuncCall-              (Ident (Identifier "text"))-              [ KeyValArg (Identifier "lang") (Literal (String "el"))-              , BlockArg-                  [ Text "\948\953\945\956\949\961\943\963\956\945\964\945"-                  , Text "."-                  , Space-                  , HardBreak-                  , Text "\955\945\964\961\949\965\964\972\962"-                  ]-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      hyphenate: true), -                 text(body: [-], -                      hyphenate: true), -                 grid(children: (text(body: [Warm welcomes to Typst.], -                                      hyphenate: true), -                                 text(body: { text(body: [διαμερίσματα. ], -                                                   hyphenate: true), -                                              linebreak(), -                                              text(body: [λατρευτός], -                                                   hyphenate: true) }, -                                      hyphenate: true, -                                      lang: "el")), -                      columns: (50.0pt, 50.0pt)), -                 parbreak() })
− test/out/text/hyphenate-01.out
@@ -1,201 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/hyphenate-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/hyphenate-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/hyphenate-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/hyphenate-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 110.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/hyphenate-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True)) ])-, ParBreak-, Text "Welcome"-, Space-, Text "to"-, Space-, Text "wonderful"-, Space-, Text "experiences"-, Text "."-, Space-, HardBreak-, Text "Welcome"-, Space-, Text "to"-, Space-, RawInline "wonderful"-, Space-, Text "experiences"-, Text "."-, Space-, HardBreak-, Text "Welcome"-, Space-, Text "to"-, Space-, Code-    "test/typ/text/hyphenate-01.typ"-    ( line 8 , column 13 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean False))-       , BlockArg [ Text "wonderful" ]-       ])-, Space-, Text "experiences"-, Text "."-, Space-, HardBreak-, Text "Welcome"-, Space-, Text "to"-, Space-, Text "wonde"-, Code-    "test/typ/text/hyphenate-01.typ"-    ( line 9 , column 18 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean False))-       , BlockArg [ Text "rf" ]-       ])-, Text "ul"-, Space-, Text "experiences"-, Text "."-, Space-, HardBreak-, SoftBreak-, Comment-, Code-    "test/typ/text/hyphenate-01.typ"-    ( line 12 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean False)) ])-, SoftBreak-, Text "Welcome"-, Space-, Text "to"-, Space-, Text "wonderful"-, Space-, Text "experiences"-, Text "."-, Space-, HardBreak-, Text "Welcome"-, Space-, Text "to"-, Space-, Text "wo"-, Code-    "test/typ/text/hyphenate-01.typ"-    ( line 14 , column 15 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True))-       , BlockArg [ Text "nd" ]-       ])-, Text "erful"-, Space-, Text "experiences"-, Text "."-, Space-, HardBreak-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [Welcome to wonderful experiences. ], -                      hyphenate: true), -                 linebreak(), -                 text(body: [Welcome to ], -                      hyphenate: true), -                 raw(block: false, -                     lang: none, -                     text: "wonderful"), -                 text(body: [ experiences. ], -                      hyphenate: true), -                 linebreak(), -                 text(body: [Welcome to ], -                      hyphenate: true), -                 text(body: text(body: [wonderful], -                                 hyphenate: true), -                      hyphenate: false), -                 text(body: [ experiences. ], -                      hyphenate: true), -                 linebreak(), -                 text(body: [Welcome to wonde], -                      hyphenate: true), -                 text(body: text(body: [rf], -                                 hyphenate: true), -                      hyphenate: false), -                 text(body: [ul experiences. ], -                      hyphenate: true), -                 linebreak(), -                 text(body: [-], -                      hyphenate: true), -                 text(body: [-Welcome to wonderful experiences. ], -                      hyphenate: false), -                 linebreak(), -                 text(body: [Welcome to wo], -                      hyphenate: false), -                 text(body: text(body: [nd], -                                 hyphenate: false), -                      hyphenate: true), -                 text(body: [erful experiences. ], -                      hyphenate: false), -                 linebreak(), -                 parbreak() })
− test/out/text/hyphenate-02.out
@@ -1,83 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/hyphenate-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/hyphenate-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/hyphenate-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/hyphenate-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/hyphenate-02.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True)) ])-, SoftBreak-, Text "It"-, Quote '\''-, Text "s"-, Space-, Text "a"-, Space-, Code-    "test/typ/text/hyphenate-02.typ"-    ( line 5 , column 9 )-    (FuncCall (Ident (Identifier "emph")) [ BlockArg [ Text "Tree" ] ])-, Text "beard"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-It’s a ], -                      hyphenate: true), -                 emph(body: text(body: [Tree], -                                 hyphenate: true)), -                 text(body: [beard.], -                      hyphenate: true), -                 parbreak() })
− test/out/text/hyphenate-03.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/hyphenate-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/hyphenate-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/hyphenate-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/hyphenate-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "de"))-       , KeyValArg (Identifier "hyphenate") (Literal (Boolean True))-       ])-, SoftBreak-, Code-    "test/typ/text/hyphenate-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Times-              (Literal (Int 2)) (Array [ Reg (Literal (Numeric 20.0 Pt)) ]))-       , KeyValArg (Identifier "gutter") (Literal (Numeric 20.0 Pt))-       , NormalArg (Block (Content [ Text "Barankauf" ]))-       , NormalArg (Block (Content [ Text "Bar" , Shy , Text "ankauf" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      hyphenate: true, -                      lang: "de"), -                 grid(children: (text(body: [Barankauf], -                                      hyphenate: true, -                                      lang: "de"), -                                 text(body: [Bar­ankauf], -                                      hyphenate: true, -                                      lang: "de")), -                      columns: (20.0pt, 20.0pt), -                      gutter: 20.0pt), -                 parbreak() })
− test/out/text/hyphenate-04.out
@@ -1,85 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/hyphenate-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/hyphenate-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/hyphenate-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Comment-, Comment-, Code-    "test/typ/text/hyphenate-04.typ"-    ( line 6 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 60.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/hyphenate-04.typ"-    ( line 7 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True)) ])-, SoftBreak-, Code-    "test/typ/text/hyphenate-04.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 6.0 Pt)) ])-, Space-, Text "networks,"-, Space-, Text "the"-, Space-, Text "rest"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      hyphenate: true), -                 h(amount: 6.0pt), -                 text(body: [ networks, the rest.], -                      hyphenate: true), -                 parbreak() })
− test/out/text/lang-00.out
@@ -1,91 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/lang-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/lang-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/lang-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/lang-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True)) ])-, SoftBreak-, Code-    "test/typ/text/lang-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Times-              (Literal (Int 2)) (Array [ Reg (Literal (Numeric 20.0 Pt)) ]))-       , KeyValArg (Identifier "gutter") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "text"))-              [ KeyValArg (Identifier "lang") (Literal (String "en"))-              , BlockArg [ Quote '"' , Text "Eingabeaufforderung" , Quote '"' ]-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "text"))-              [ KeyValArg (Identifier "lang") (Literal (String "de"))-              , BlockArg [ Quote '"' , Text "Eingabeaufforderung" , Quote '"' ]-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      hyphenate: true), -                 grid(children: (text(body: text(body: [“Eingabeaufforderung”], -                                                 hyphenate: true), -                                      hyphenate: true, -                                      lang: "en"), -                                 text(body: text(body: [“Eingabeaufforderung”], -                                                 hyphenate: true), -                                      hyphenate: true, -                                      lang: "de")), -                      columns: (20.0pt, 20.0pt), -                      gutter: 1.0fr), -                 parbreak() })
− test/out/text/lang-01.out
@@ -1,93 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/lang-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/lang-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/lang-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/lang-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "Ubuntu")) ])-, ParBreak-, Comment-, Comment-, Comment-, Comment-, Text "\1041\1073"-, SoftBreak-, Code-    "test/typ/text/lang-01.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "uk"))-       , BlockArg [ Text "\1041\1073" ]-       ])-, SoftBreak-, Code-    "test/typ/text/lang-01.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "sr"))-       , BlockArg [ Text "\1041\1073" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Бб-], -                      font: "Ubuntu"), -                 text(body: text(body: [Бб], -                                 font: "Ubuntu"), -                      font: "Ubuntu", -                      lang: "uk"), -                 text(body: [-], -                      font: "Ubuntu"), -                 text(body: text(body: [Бб], -                                 font: "Ubuntu"), -                      font: "Ubuntu", -                      lang: "sr"), -                 parbreak() })
− test/out/text/lang-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/lang-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/lang-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/lang-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/lang-with-region-00.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/lang-with-region-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/lang-with-region-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/lang-with-region-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/lang-with-region-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "zh")) ])-, SoftBreak-, Code-    "test/typ/text/lang-with-region-00.typ"-    ( line 4 , column 2 )-    (FuncCall (Ident (Identifier "outline")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], lang: "zh"), -                 outline(), -                 parbreak() })
− test/out/text/lang-with-region-01.out
@@ -1,66 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/lang-with-region-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/lang-with-region-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/lang-with-region-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/lang-with-region-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "zh"))-       , KeyValArg (Identifier "region") (Literal (String "XX"))-       ])-, SoftBreak-, Code-    "test/typ/text/lang-with-region-01.typ"-    ( line 4 , column 2 )-    (FuncCall (Ident (Identifier "outline")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      lang: "zh", -                      region: "XX"), -                 outline(), -                 parbreak() })
− test/out/text/lang-with-region-02.out
@@ -1,66 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/lang-with-region-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/lang-with-region-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/lang-with-region-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/lang-with-region-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "zh"))-       , KeyValArg (Identifier "region") (Literal (String "TW"))-       ])-, SoftBreak-, Code-    "test/typ/text/lang-with-region-02.typ"-    ( line 4 , column 2 )-    (FuncCall (Ident (Identifier "outline")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      lang: "zh", -                      region: "TW"), -                 outline(), -                 parbreak() })
− test/out/text/linebreak-00.out
@@ -1,57 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "This"-, Space-, Text "is"-, Space-, Text "a"-, Space-, Text "spaceexceedinglylongy"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [This is a spaceexceedinglylongy.]), -                 parbreak() })
− test/out/text/linebreak-01.out
@@ -1,53 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Supercalifragilisticexpialidocious"-, Space-, Text "Expialigoricmetrioxidation"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Supercalifragilisticexpialidocious Expialigoricmetrioxidation.]), -                 parbreak() })
− test/out/text/linebreak-02.out
@@ -1,64 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "This"-, Space-, Text "is"-, Space-, Text "partly"-, Space-, Text "emp"-, Code-    "test/typ/text/linebreak-02.typ"-    ( line 3 , column 20 )-    (FuncCall (Ident (Identifier "emph")) [ BlockArg [ Text "has" ] ])-, Text "ized"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [This is partly emp]), -                 emph(body: text(body: [has])), -                 text(body: [ized.]), -                 parbreak() })
− test/out/text/linebreak-03.out
@@ -1,58 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Text "Hard"-, Space-, Code-    "test/typ/text/linebreak-03.typ"-    ( line 2 , column 7 )-    (FuncCall (Ident (Identifier "linebreak")) [])-, Space-, Text "break"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-Hard ]), -                 linebreak(), -                 text(body: [ break.]), -                 parbreak() })
− test/out/text/linebreak-04.out
@@ -1,64 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Hard"-, Space-, Text "break"-, Space-, Text "directly"-, Space-, Text "after"-, Space-, HardBreak-, Text "normal"-, Space-, Text "break"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Hard break directly after ]), -                 linebreak(), -                 text(body: [normal break.]), -                 parbreak() })
− test/out/text/linebreak-05.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Two"-, Space-, Text "consecutive"-, Space-, HardBreak-, HardBreak-, Text "breaks"-, Space-, Text "and"-, Space-, Text "three"-, Space-, HardBreak-, HardBreak-, Text "more"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Two consecutive ]), -                 linebreak(), -                 linebreak(), -                 text(body: [breaks and three ]), -                 linebreak(), -                 linebreak(), -                 text(body: [more.]), -                 parbreak() })
− test/out/text/linebreak-06.out
@@ -1,57 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Trailing"-, Space-, Text "break"-, Space-, HardBreak-, HardBreak-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Trailing break ]), -                 linebreak(), -                 linebreak(), -                 parbreak() })
− test/out/text/linebreak-07.out
@@ -1,113 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/linebreak-07.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Text "With"-, Space-, Text "a"-, Space-, Text "soft"-, Space-, Code-    "test/typ/text/linebreak-07.typ"-    ( line 4 , column 14 )-    (FuncCall-       (Ident (Identifier "linebreak"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Text "break"-, Space-, Text "you"-, Space-, Text "can"-, Space-, Text "force"-, Space-, Text "a"-, Space-, Text "break"-, Space-, Text "without"-, Space-, Code-    "test/typ/text/linebreak-07.typ"-    ( line 5 , column 38 )-    (FuncCall-       (Ident (Identifier "linebreak"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])-, SoftBreak-, Text "breaking"-, Space-, Text "justification"-, Text "."-, Space-, Code-    "test/typ/text/linebreak-07.typ"-    ( line 6 , column 26 )-    (FuncCall-       (Ident (Identifier "linebreak"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean False)) ])-, SoftBreak-, Text "Nice!"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-With a soft ]), -                 linebreak(justify: true), -                 text(body: [-break you can force a break without ]), -                 linebreak(justify: true), -                 text(body: [-breaking justification. ]), -                 linebreak(justify: false), -                 text(body: [-Nice!]), -                 parbreak() })
− test/out/text/linebreak-08.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-08.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-08.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-08.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "First"-, Space-, Text "part"-, Comment-, Text "Second"-, Space-, Text "part"-, ParBreak-, Comment-, Text "First"-, Space-, Text "part"-, Space-, Comment-, Text "Second"-, Space-, Text "part"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [First part]), -                 text(body: [Second part]), -                 parbreak(), -                 text(body: [First part ]), -                 text(body: [Second part]), -                 parbreak() })
− test/out/text/linebreak-obj-00.out
@@ -1,97 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-obj-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-obj-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-obj-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/linebreak-obj-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 162.0 Pt)) ])-, ParBreak-, Text "They"-, Space-, Text "can"-, Space-, Text "look"-, Space-, Text "for"-, Space-, Text "the"-, Space-, Text "details"-, Space-, Text "in"-, Space-, Ref "netwok" (Literal Auto)-, Text ","-, SoftBreak-, Text "which"-, Space-, Text "is"-, Space-, Text "the"-, Space-, Text "authoritative"-, Space-, Text "source"-, Text "."-, ParBreak-, Code-    "test/typ/text/linebreak-obj-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "bibliography"))-       [ NormalArg (Literal (String "/works.bib")) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [They can look for the details in ]), -                 ref(supplement: auto, -                     target: <netwok>), -                 text(body: [,-which is the authoritative source.]), -                 parbreak(), -                 bibliography(path: "/works.bib"), -                 parbreak() })
− test/out/text/linebreak-obj-01.out
@@ -1,198 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/linebreak-obj-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/linebreak-obj-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/linebreak-obj-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/linebreak-obj-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 85.0 Pt)) ])-, ParBreak-, Text "We"-, Space-, Text "prove"-, Space-, Equation False [ Text "1" , Text "<" , Text "2" ]-, Text "."-, Space-, HardBreak-, Text "We"-, Space-, Text "prove"-, Space-, Equation False [ Text "1" , Text "<" , Text "2" ]-, Text "!"-, Space-, HardBreak-, Text "We"-, Space-, Text "prove"-, Space-, Equation False [ Text "1" , Text "<" , Text "2" ]-, Text "?"-, Space-, HardBreak-, Text "We"-, Space-, Text "prove"-, Space-, Equation False [ Text "1" , Text "<" , Text "2" ]-, Text ","-, Space-, HardBreak-, Text "We"-, Space-, Text "prove"-, Space-, Equation False [ Text "1" , Text "<" , Text "2" ]-, Text ";"-, Space-, HardBreak-, Text "We"-, Space-, Text "prove"-, Space-, Equation False [ Text "1" , Text "<" , Text "2" ]-, Text ":"-, Space-, HardBreak-, Text "We"-, Space-, Text "prove"-, Space-, Equation False [ Text "1" , Text "<" , Text "2" ]-, Text "-"-, Space-, HardBreak-, Text "We"-, Space-, Text "prove"-, Space-, Equation False [ Text "1" , Text "<" , Text "2" ]-, Text "\8211"-, Space-, HardBreak-, Text "We"-, Space-, Text "prove"-, Space-, Equation False [ Text "1" , Text "<" , Text "2" ]-, Text "\8212"-, Space-, HardBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [We prove ]), -                 math.equation(block: false, -                               body: { text(body: [1]), -                                       text(body: [<]), -                                       text(body: [2]) }, -                               numbering: none), -                 text(body: [. ]), -                 linebreak(), -                 text(body: [We prove ]), -                 math.equation(block: false, -                               body: { text(body: [1]), -                                       text(body: [<]), -                                       text(body: [2]) }, -                               numbering: none), -                 text(body: [! ]), -                 linebreak(), -                 text(body: [We prove ]), -                 math.equation(block: false, -                               body: { text(body: [1]), -                                       text(body: [<]), -                                       text(body: [2]) }, -                               numbering: none), -                 text(body: [? ]), -                 linebreak(), -                 text(body: [We prove ]), -                 math.equation(block: false, -                               body: { text(body: [1]), -                                       text(body: [<]), -                                       text(body: [2]) }, -                               numbering: none), -                 text(body: [, ]), -                 linebreak(), -                 text(body: [We prove ]), -                 math.equation(block: false, -                               body: { text(body: [1]), -                                       text(body: [<]), -                                       text(body: [2]) }, -                               numbering: none), -                 text(body: [; ]), -                 linebreak(), -                 text(body: [We prove ]), -                 math.equation(block: false, -                               body: { text(body: [1]), -                                       text(body: [<]), -                                       text(body: [2]) }, -                               numbering: none), -                 text(body: [: ]), -                 linebreak(), -                 text(body: [We prove ]), -                 math.equation(block: false, -                               body: { text(body: [1]), -                                       text(body: [<]), -                                       text(body: [2]) }, -                               numbering: none), -                 text(body: [- ]), -                 linebreak(), -                 text(body: [We prove ]), -                 math.equation(block: false, -                               body: { text(body: [1]), -                                       text(body: [<]), -                                       text(body: [2]) }, -                               numbering: none), -                 text(body: [– ]), -                 linebreak(), -                 text(body: [We prove ]), -                 math.equation(block: false, -                               body: { text(body: [1]), -                                       text(body: [<]), -                                       text(body: [2]) }, -                               numbering: none), -                 text(body: [— ]), -                 linebreak() })
− test/out/text/lorem-00.out
@@ -1,54 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/lorem-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/lorem-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/lorem-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/lorem-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 19)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.]), -                 parbreak() })
− test/out/text/lorem-01.out
@@ -1,127 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/lorem-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/lorem-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/lorem-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/lorem-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 8.0 Pt)) ])-, ParBreak-, Code-    "test/typ/text/lorem-01.typ"-    ( line 5 , column 2 )-    (Block-       (CodeBlock-          [ Let-              (BasicBind (Just (Identifier "sentences")))-              (FuncCall-                 (FieldAccess-                    (Ident (Identifier "map"))-                    (FuncCall-                       (FieldAccess-                          (Ident (Identifier "filter"))-                          (FuncCall-                             (FieldAccess-                                (Ident (Identifier "split"))-                                (FuncCall-                                   (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 59)) ]))-                             [ NormalArg (Literal (String ".")) ]))-                       [ NormalArg-                           (FuncExpr-                              [ NormalParam (Identifier "s") ]-                              (Not (Equals (Ident (Identifier "s")) (Literal (String "")))))-                       ]))-                 [ NormalArg-                     (FuncExpr-                        [ NormalParam (Identifier "s") ]-                        (Plus (Ident (Identifier "s")) (Literal (String "."))))-                 ])-          , Let (BasicBind (Just (Identifier "used"))) (Literal (Int 0))-          , For-              (BasicBind (Just (Identifier "s")))-              (Ident (Identifier "sentences"))-              (Block-                 (CodeBlock-                    [ If-                        [ ( LessThan (Ident (Identifier "used")) (Literal (Int 2))-                          , Block-                              (CodeBlock-                                 [ Assign-                                     (Ident (Identifier "used"))-                                     (Plus (Ident (Identifier "used")) (Literal (Int 1)))-                                 ])-                          )-                        , ( Literal (Boolean True)-                          , Block-                              (CodeBlock-                                 [ FuncCall (Ident (Identifier "parbreak")) []-                                 , Assign (Ident (Identifier "used")) (Literal (Int 0))-                                 ])-                          )-                        ]-                    , FuncCall-                        (FieldAccess (Ident (Identifier "trim")) (Ident (Identifier "s")))-                        []-                    , Block (Content [ Space ])-                    ]))-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.], -                      size: 8.0pt), -                 text(body: [ ], size: 8.0pt), -                 text(body: [Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.], -                      size: 8.0pt), -                 text(body: [ ], size: 8.0pt), -                 parbreak(), -                 text(body: [Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.], -                      size: 8.0pt), -                 text(body: [ ], size: 8.0pt), -                 text(body: [Excepteur sint occaecat cupidatat non proident, sunt.], -                      size: 8.0pt), -                 text(body: [ ], size: 8.0pt), -                 parbreak() })
− test/out/text/lorem-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/microtype-00.out
@@ -1,213 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/microtype-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/microtype-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/microtype-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/microtype-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 130.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 15.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/text/microtype-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "par"))-       [ KeyValArg (Identifier "justify") (Literal (Boolean True))-       , KeyValArg (Identifier "linebreaks") (Literal (String "simple"))-       ])-, SoftBreak-, Code-    "test/typ/text/microtype-00.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "size") (Literal (Numeric 9.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/microtype-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))-       , KeyValArg-           (Identifier "fill")-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (Int 0))-              , NormalArg (Literal (Int 0))-              , NormalArg (Literal (Int 0))-              , NormalArg (Literal (Int 0))-              ])-       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , BlockArg-           [ SoftBreak-           , Text "This"-           , Space-           , Text "is"-           , Space-           , Text "a"-           , Space-           , Text "little"-           , Space-           , Text "bit"-           , Space-           , Text "of"-           , Space-           , Text "text"-           , Space-           , Text "that"-           , Space-           , Text "builds"-           , Space-           , Text "up"-           , Space-           , Text "to"-           , SoftBreak-           , Text "hang"-           , Text "-"-           , Text "ing"-           , Space-           , Text "hyphens"-           , Space-           , Text "and"-           , Space-           , Text "dash"-           , EmDash-           , Text "es"-           , Space-           , Text "and"-           , Space-           , Text "then,"-           , Space-           , Text "you"-           , Space-           , Text "know,"-           , SoftBreak-           , Text "some"-           , Space-           , Text "punctuation"-           , Space-           , Text "in"-           , Space-           , Text "the"-           , Space-           , Text "margin"-           , Text "."-           , ParBreak-           ]-       ])-, ParBreak-, Comment-, Code-    "test/typ/text/microtype-00.typ"-    ( line 13 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "he"))-       , KeyValArg-           (Identifier "font")-           (Array-              [ Reg (Literal (String "PT Sans"))-              , Reg (Literal (String "Noto Serif Hebrew"))-              ])-       ])-, SoftBreak-, Text "\1489\1504\1497\1497\1492"-, Space-, Text "\1504\1499\1493\1504\1492"-, Space-, Text "\1513\1500"-, Space-, Text "\1502\1513\1508\1496\1497\1501"-, Space-, Text "\1488\1512\1493\1499\1497\1501"-, Space-, Text "\1491\1493\1512\1513\1514"-, Space-, Text "\1497\1491\1506"-, Space-, Text "\1489\1513\1508\1492"-, Text "."-, Space-, Text "\1488\1494"-, Space-, Text "\1489\1493\1488\1493"-, Space-, Text "\1504\1491\1489\1512"-, Space-, Text "\1506\1500"-, Space-, Text "\1502\1494\1490"-, Space-, Text "\1492\1488\1493\1493\1497\1512"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-], size: 9.0pt), -                 rect(body: { text(body: [-This is a little bit of text that builds up to-hang-ing hyphens and dash—es and then, you know,-some punctuation in the margin.], -                                   size: 9.0pt), -                              parbreak() }, -                      fill: rgb(0%,0%,0%,0%), -                      inset: 0.0pt, -                      width: 100%), -                 parbreak(), -                 text(body: [-בנייה נכונה של משפטים ארוכים דורשת ידע בשפה. אז בואו נדבר על מזג האוויר.], -                      font: ("PT Sans", -                             "Noto Serif Hebrew"), -                      lang: "he", -                      size: 9.0pt), -                 parbreak() })
− test/out/text/microtype-01.out
@@ -1,76 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/microtype-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/microtype-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/microtype-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/microtype-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/microtype-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "end")) ])-, SoftBreak-, Code-    "test/typ/text/microtype-01.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])-, SoftBreak-, Text ":"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-:], dir: rtl), -                 parbreak() })
− test/out/text/quotes-00.out
@@ -1,500 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/quotes-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/quotes-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/quotes-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/quotes-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 250.0 Pt)) ])-, ParBreak-, Comment-, Code-    "test/typ/text/quotes-00.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "en")) ])-, SoftBreak-, Quote '"'-, Text "The"-, Space-, Text "horse"-, Space-, Text "eats"-, Space-, Text "no"-, Space-, Text "cucumber"-, Space-, Text "salad"-, Quote '"'-, Space-, Text "was"-, Space-, Text "the"-, Space-, Text "first"-, Space-, Text "sentence"-, Space-, Text "ever"-, Space-, Text "uttered"-, Space-, Text "on"-, Space-, Text "the"-, Space-, Quote '\''-, Text "telephone"-, Text "."-, Quote '\''-, ParBreak-, Code-    "test/typ/text/quotes-00.typ"-    ( line 8 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "de")) ])-, SoftBreak-, Quote '"'-, Text "Das"-, Space-, Text "Pferd"-, Space-, Text "frisst"-, Space-, Text "keinen"-, Space-, Text "Gurkensalat"-, Quote '"'-, Space-, Text "war"-, Space-, Text "der"-, Space-, Text "erste"-, Space-, Text "jemals"-, Space-, Text "am"-, Space-, Quote '\''-, Text "Fernsprecher"-, Quote '\''-, Space-, Text "gesagte"-, Space-, Text "Satz"-, Text "."-, ParBreak-, Code-    "test/typ/text/quotes-00.typ"-    ( line 11 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "de"))-       , KeyValArg (Identifier "region") (Literal (String "CH"))-       ])-, SoftBreak-, Quote '"'-, Text "Das"-, Space-, Text "Pferd"-, Space-, Text "frisst"-, Space-, Text "keinen"-, Space-, Text "Gurkensalat"-, Quote '"'-, Space-, Text "war"-, Space-, Text "der"-, Space-, Text "erste"-, Space-, Text "jemals"-, Space-, Text "am"-, Space-, Quote '\''-, Text "Fernsprecher"-, Quote '\''-, Space-, Text "gesagte"-, Space-, Text "Satz"-, Text "."-, ParBreak-, Code-    "test/typ/text/quotes-00.typ"-    ( line 14 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "es"))-       , KeyValArg (Identifier "region") (Literal None)-       ])-, SoftBreak-, Quote '"'-, Text "El"-, Space-, Text "caballo"-, Space-, Text "no"-, Space-, Text "come"-, Space-, Text "ensalada"-, Space-, Text "de"-, Space-, Text "pepino"-, Quote '"'-, Space-, Text "fue"-, Space-, Text "la"-, Space-, Text "primera"-, Space-, Text "frase"-, Space-, Text "pronunciada"-, Space-, Text "por"-, Space-, Quote '\''-, Text "tel\233fono"-, Quote '\''-, Text "."-, ParBreak-, Code-    "test/typ/text/quotes-00.typ"-    ( line 17 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "es"))-       , KeyValArg (Identifier "region") (Literal (String "MX"))-       ])-, SoftBreak-, Quote '"'-, Text "El"-, Space-, Text "caballo"-, Space-, Text "no"-, Space-, Text "come"-, Space-, Text "ensalada"-, Space-, Text "de"-, Space-, Text "pepino"-, Quote '"'-, Space-, Text "fue"-, Space-, Text "la"-, Space-, Text "primera"-, Space-, Text "frase"-, Space-, Text "pronunciada"-, Space-, Text "por"-, Space-, Quote '\''-, Text "tel\233fono"-, Quote '\''-, Text "."-, ParBreak-, Code-    "test/typ/text/quotes-00.typ"-    ( line 20 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "fr"))-       , KeyValArg (Identifier "region") (Literal None)-       ])-, SoftBreak-, Quote '"'-, Text "Le"-, Space-, Text "cheval"-, Space-, Text "ne"-, Space-, Text "mange"-, Space-, Text "pas"-, Space-, Text "de"-, Space-, Text "salade"-, Space-, Text "de"-, Space-, Text "concombres"-, Quote '"'-, Space-, Text "est"-, Space-, Text "la"-, Space-, Text "premi\232re"-, Space-, Text "phrase"-, Space-, Text "jamais"-, Space-, Text "prononc\233e"-, Space-, Text "au"-, Space-, Quote '\''-, Text "t\233l\233phone"-, Quote '\''-, Text "."-, ParBreak-, Code-    "test/typ/text/quotes-00.typ"-    ( line 23 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "fi")) ])-, SoftBreak-, Quote '"'-, Text "Hevonen"-, Space-, Text "ei"-, Space-, Text "sy\246"-, Space-, Text "kurkkusalaattia"-, Quote '"'-, Space-, Text "oli"-, Space-, Text "ensimm\228inen"-, Space-, Text "koskaan"-, Space-, Quote '\''-, Text "puhelimessa"-, Quote '\''-, Space-, Text "lausuttu"-, Space-, Text "lause"-, Text "."-, ParBreak-, Code-    "test/typ/text/quotes-00.typ"-    ( line 26 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "he")) ])-, SoftBreak-, Quote '"'-, Text "\1492\1505\1493\1505"-, Space-, Text "\1500\1488"-, Space-, Text "\1488\1493\1499\1500"-, Space-, Text "\1505\1500\1496"-, Space-, Text "\1502\1500\1508\1508\1493\1504\1497\1501"-, Quote '"'-, Space-, Text "\1492\1497\1492"-, Space-, Text "\1492\1502\1513\1508\1496"-, Space-, Text "\1492\1492\1512\1488\1513\1493\1503"-, Space-, Text "\1513\1504\1488\1502\1512"-, Space-, Text "\1489"-, Space-, Quote '\''-, Text "\1496\1500\1508\1493\1503"-, Quote '\''-, Text "."-, ParBreak-, Code-    "test/typ/text/quotes-00.typ"-    ( line 29 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "ro")) ])-, SoftBreak-, Quote '"'-, Text "Calul"-, Space-, Text "nu"-, Space-, Text "m\259n\226nc\259"-, Space-, Text "salat\259"-, Space-, Text "de"-, Space-, Text "castrave\539i"-, Quote '"'-, Space-, Text "a"-, Space-, Text "fost"-, Space-, Text "prima"-, Space-, Text "propozi\539ie"-, Space-, Text "rostit\259"-, Space-, Text "vreodat\259"-, Space-, Text "la"-, Space-, Quote '\''-, Text "telefon"-, Quote '\''-, Text "."-, ParBreak-, Code-    "test/typ/text/quotes-00.typ"-    ( line 32 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "ru")) ])-, SoftBreak-, Quote '"'-, Text "\1051\1086\1096\1072\1076\1100"-, Space-, Text "\1085\1077"-, Space-, Text "\1077\1089\1090"-, Space-, Text "\1089\1072\1083\1072\1090"-, Space-, Text "\1080\1079"-, Space-, Text "\1086\1075\1091\1088\1094\1086\1074"-, Quote '"'-, Space-, Text "-"-, Space-, Text "\1101\1090\1086"-, Space-, Text "\1073\1099\1083\1072"-, Space-, Text "\1087\1077\1088\1074\1072\1103"-, Space-, Text "\1092\1088\1072\1079\1072,"-, Space-, Text "\1089\1082\1072\1079\1072\1085\1085\1072\1103"-, Space-, Text "\1087\1086"-, Space-, Quote '\''-, Text "\1090\1077\1083\1077\1092\1086\1085\1091"-, Quote '\''-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [-“The horse eats no cucumber salad” was the first sentence ever uttered on the ‘telephone.’], -                      lang: "en"), -                 parbreak(), -                 text(body: [-“Das Pferd frisst keinen Gurkensalat” war der erste jemals am ‘Fernsprecher” gesagte Satz.], -                      lang: "de"), -                 parbreak(), -                 text(body: [-“Das Pferd frisst keinen Gurkensalat” war der erste jemals am ‘Fernsprecher” gesagte Satz.], -                      lang: "de", -                      region: "CH"), -                 parbreak(), -                 text(body: [-“El caballo no come ensalada de pepino” fue la primera frase pronunciada por ‘teléfono’.], -                      lang: "es", -                      region: none), -                 parbreak(), -                 text(body: [-“El caballo no come ensalada de pepino” fue la primera frase pronunciada por ‘teléfono’.], -                      lang: "es", -                      region: "MX"), -                 parbreak(), -                 text(body: [-“Le cheval ne mange pas de salade de concombres” est la première phrase jamais prononcée au ‘téléphone’.], -                      lang: "fr", -                      region: none), -                 parbreak(), -                 text(body: [-“Hevonen ei syö kurkkusalaattia” oli ensimmäinen koskaan ‘puhelimessa” lausuttu lause.], -                      lang: "fi", -                      region: none), -                 parbreak(), -                 text(body: [-“הסוס לא אוכל סלט מלפפונים” היה המשפט ההראשון שנאמר ב ‘טלפון’.], -                      lang: "he", -                      region: none), -                 parbreak(), -                 text(body: [-“Calul nu mănâncă salată de castraveți” a fost prima propoziție rostită vreodată la ‘telefon’.], -                      lang: "ro", -                      region: none), -                 parbreak(), -                 text(body: [-“Лошадь не ест салат из огурцов” - это была первая фраза, сказанная по ‘телефону’.], -                      lang: "ru", -                      region: none), -                 parbreak() })
− test/out/text/quotes-01.out
@@ -1,51 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/quotes-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/quotes-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/quotes-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Quote '"'-, Quote '"'-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [””]), -                 parbreak() })
− test/out/text/quotes-02.out
@@ -1,99 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/quotes-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/quotes-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/quotes-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "The"-, Space-, Text "5"-, Quote '\''-, Text "11"-, Quote '"'-, Space-, Quote '\''-, Text "quick"-, Quote '\''-, Space-, Text "brown"-, Space-, Text "fox"-, Space-, Text "jumps"-, Space-, Text "over"-, Space-, Text "the"-, Space-, Quote '"'-, Text "lazy"-, Quote '"'-, Space-, Text "dog"-, Quote '\''-, Text "s"-, Space-, Text "ear"-, Text "."-, ParBreak-, Text "He"-, Space-, Text "said"-, Space-, Quote '"'-, Text "I"-, Quote '\''-, Text "m"-, Space-, Text "a"-, Space-, Text "big"-, Space-, Text "fella"-, Text "."-, Quote '"'-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [The 5’11” ‘quick” brown fox jumps over the “lazy” dog’s ear.]), -                 parbreak(), -                 text(body: [He said “I’m a big fella.”]), -                 parbreak() })
− test/out/text/quotes-03.out
@@ -1,80 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/quotes-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/quotes-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/quotes-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "The"-, Space-, Text "5"-, Text "'"-, Text "11"-, Text "\""-, Space-, Quote '\''-, Text "quick"-, Text "'"-, Space-, Text "brown"-, Space-, Text "fox"-, Space-, Text "jumps"-, Space-, Text "over"-, Space-, Text "the"-, Space-, Text "\""-, Text "lazy"-, Quote '"'-, Space-, Text "dog"-, Text "'"-, Text "s"-, Space-, Text "ear"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [The 5'11" ‘quick' brown fox jumps over the "lazy” dog's ear.]), -                 parbreak() })
− test/out/text/quotes-04.out
@@ -1,100 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/quotes-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/quotes-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/quotes-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "He"-, Quote '\''-, Text "s"-, Space-, Text "told"-, Space-, Text "some"-, Space-, Text "books"-, Space-, Text "contain"-, Space-, Text "questionable"-, Space-, Quote '"'-, Text "example"-, Space-, Text "text"-, Quote '"'-, Text "."-, ParBreak-, Code-    "test/typ/text/quotes-04.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "smartquote"))-       [ KeyValArg (Identifier "enabled") (Literal (Boolean False)) ])-, SoftBreak-, Text "He"-, Quote '\''-, Text "s"-, Space-, Text "told"-, Space-, Text "some"-, Space-, Text "books"-, Space-, Text "contain"-, Space-, Text "questionable"-, Space-, Quote '"'-, Text "example"-, Space-, Text "text"-, Quote '"'-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [He’s told some books contain questionable “example text”.]), -                 parbreak(), -                 text(body: [-He’s told some books contain questionable “example text”.]), -                 parbreak() })
− test/out/text/quotes-05.out
@@ -1,128 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/quotes-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/quotes-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/quotes-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Quote '"'-, Text "She"-, Space-, Text "suddenly"-, Space-, Text "started"-, Space-, Text "speaking"-, Space-, Text "french"-, Text ":"-, Space-, Code-    "test/typ/text/quotes-05.typ"-    ( line 3 , column 41 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "lang") (Literal (String "fr"))-       , BlockArg-           [ Quote '\''-           , Text "Je"-           , Space-           , Text "suis"-           , Space-           , Text "une"-           , Space-           , Text "banane"-           , Text "."-           , Quote '\''-           ]-       ])-, Quote '"'-, Space-, Text "Roman"-, Space-, Text "told"-, Space-, Text "me"-, Text "."-, ParBreak-, Text "Some"-, Space-, Text "people"-, Quote '\''-, Text "s"-, Space-, Text "thought"-, Space-, Text "on"-, Space-, Text "this"-, Space-, Text "would"-, Space-, Text "be"-, Space-, Code-    "test/typ/text/quotes-05.typ"-    ( line 5 , column 41 )-    (Block-       (Content-          [ Code-              "test/typ/text/quotes-05.typ"-              ( line 5 , column 43 )-              (Set-                 (Ident (Identifier "smartquote"))-                 [ KeyValArg (Identifier "enabled") (Literal (Boolean False)) ])-          , Space-          , Quote '"'-          , Text "strange"-          , Text "."-          , Quote '"'-          ]))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [“She suddenly started speaking french: ]), -                 text(body: text(body: [‘Je suis une banane.’]), -                      lang: "fr"), -                 text(body: [” Roman told me.]), -                 parbreak(), -                 text(body: [Some people’s thought on this would be ]), -                 text(body: [ “strange.”]), -                 parbreak() })
− test/out/text/raw-00.out
@@ -1,56 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, RawInline "A"-, RawInline "B"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 raw(block: false, -                     lang: none, -                     text: "A"), -                 raw(block: false, -                     lang: none, -                     text: "B"), -                 parbreak() })
− test/out/text/raw-01.out
@@ -1,60 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, RawBlock "typ" "#let x = 1"-, Space-, HardBreak-, RawBlock "typ" "#f(1)"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 raw(block: true, -                     lang: "typ", -                     text: "#let x = 1"), -                 text(body: [ ]), -                 linebreak(), -                 raw(block: true, -                     lang: "typ", -                     text: "#f(1)"), -                 parbreak() })
− test/out/text/raw-02.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Text "Text"-, SoftBreak-, RawBlock "rust" "fn code() {}\n"-, SoftBreak-, Text "Text"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Text-]), -                 raw(block: true, -                     lang: "rust", -                     text: "fn code() {}\n"), -                 text(body: [-Text]), -                 parbreak() })
− test/out/text/raw-03.out
@@ -1,52 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, RawBlock "" "```backticks```\n"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 raw(block: true, -                     lang: none, -                     text: "```backticks```\n"), -                 parbreak() })
− test/out/text/raw-04.out
@@ -1,121 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Text "The"-, Space-, Text "keyword"-, Space-, RawBlock "rust" "let"-, Text "."-, ParBreak-, Comment-, Text "("-, RawInline ""-, Text ")"-, Space-, HardBreak-, Text "("-, RawInline " untrimmed "-, Text ")"-, Space-, HardBreak-, Text "("-, RawBlock "" "trimmed` "-, Text ")"-, Space-, HardBreak-, Text "("-, RawBlock "" "trimmed "-, Text ")"-, Space-, HardBreak-, Text "("-, RawBlock "" "trimmed"-, Text ")"-, Space-, HardBreak-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [The keyword ]), -                 raw(block: true, -                     lang: "rust", -                     text: "let"), -                 text(body: [.]), -                 parbreak(), -                 text(body: [(]), -                 raw(block: false, -                     lang: none, -                     text: ""), -                 text(body: [) ]), -                 linebreak(), -                 text(body: [(]), -                 raw(block: false, -                     lang: none, -                     text: " untrimmed "), -                 text(body: [) ]), -                 linebreak(), -                 text(body: [(]), -                 raw(block: true, -                     lang: none, -                     text: "trimmed` "), -                 text(body: [) ]), -                 linebreak(), -                 text(body: [(]), -                 raw(block: true, -                     lang: none, -                     text: "trimmed "), -                 text(body: [) ]), -                 linebreak(), -                 text(body: [(]), -                 raw(block: true, -                     lang: none, -                     text: "trimmed"), -                 text(body: [) ]), -                 linebreak(), -                 parbreak() })
− test/out/text/raw-05.out
@@ -1,52 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, RawInline "rust let"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 raw(block: false, -                     lang: none, -                     text: "rust let"), -                 parbreak() })
− test/out/text/raw-06.out
@@ -1,54 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Space-, RawBlock "" "  A\n        B\n       C\n     "-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [ ]), -                 raw(block: true, -                     lang: none, -                     text: "  A\n        B\n       C\n     "), -                 parbreak() })
− test/out/text/raw-07.out
@@ -1,63 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/raw-07.typ"-    ( line 3 , column 2 )-    (Show-       (Just (Ident (Identifier "raw")))-       (Set-          (Ident (Identifier "text"))-          [ KeyValArg (Identifier "font") (Literal (String "Roboto")) ]))-, SoftBreak-, RawInline "Roboto"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 raw(block: false, -                     lang: none, -                     text: "Roboto"), -                 parbreak() })
− test/out/text/raw-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/raw-align-00.out
@@ -1,98 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-align-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-align-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-align-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/raw-align-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center")) ])-, SoftBreak-, Code-    "test/typ/text/raw-align-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/raw-align-00.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 6.0 Pt)) ])-, ParBreak-, Code-    "test/typ/text/raw-align-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])-, ParBreak-, RawBlock-    "py"-    "def something(x):\n  return x\n\na = 342395823859823958329\nb = 324923\n"-, ParBreak-, Code-    "test/typ/text/raw-align-00.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut], -                      size: 6.0pt), -                 parbreak(), -                 raw(block: true, -                     lang: "py", -                     text: "def something(x):\n  return x\n\na = 342395823859823958329\nb = 324923\n"), -                 parbreak(), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut], -                      size: 6.0pt), -                 parbreak() })
− test/out/text/raw-align-01.out
@@ -1,107 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-align-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-align-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-align-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/raw-align-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/raw-align-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 6.0 Pt)) ])-, ParBreak-, Code-    "test/typ/text/raw-align-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])-, SoftBreak-, Code-    "test/typ/text/raw-align-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "raw"))-              [ KeyValArg (Identifier "lang") (Literal (String "typ"))-              , KeyValArg (Identifier "block") (Literal (Boolean True))-              , KeyValArg (Identifier "align") (Ident (Identifier "right"))-              , NormalArg-                  (Literal-                     (String "#let f(x) = x\n#align(center, line(length: 1em))"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/text/raw-align-01.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut], -                      size: 6.0pt), -                 text(body: [-], size: 6.0pt), -                 align(alignment: center, -                       body: raw(align: right, -                                 block: true, -                                 lang: "typ", -                                 text: "#let f(x) = x\n#align(center, line(length: 1em))")), -                 text(body: [-], size: 6.0pt), -                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut], -                      size: 6.0pt), -                 parbreak() })
− test/out/text/raw-align-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/raw-code-00.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-code-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-code-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-code-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/raw-code-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/raw-code-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 6.0 Pt)) ])-, SoftBreak-, RawBlock-    "typ"-    "= Chapter 1\n#lorem(100)\n\n#let hi = \"Hello World\"\n#show heading: emph\n"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], size: 6.0pt), -                 raw(block: true, -                     lang: "typ", -                     text: "= Chapter 1\n#lorem(100)\n\n#let hi = \"Hello World\"\n#show heading: emph\n"), -                 parbreak() })
− test/out/text/raw-code-01.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-code-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-code-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-code-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/raw-code-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/raw-code-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 6.0 Pt)) ])-, ParBreak-, RawBlock-    "rust"-    "/// A carefully designed state machine.\n#[derive(Debug)]\nenum State<'a> { A(u8), B(&'a str) }\n\nfn advance(state: State<'_>) -> State<'_> {\n    unimplemented!(\"state machine\")\n}\n"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 raw(block: true, -                     lang: "rust", -                     text: "/// A carefully designed state machine.\n#[derive(Debug)]\nenum State<'a> { A(u8), B(&'a str) }\n\nfn advance(state: State<'_>) -> State<'_> {\n    unimplemented!(\"state machine\")\n}\n"), -                 parbreak() })
− test/out/text/raw-code-02.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-code-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-code-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-code-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/raw-code-02.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/raw-code-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 6.0 Pt)) ])-, ParBreak-, RawBlock "py" "import this\n\ndef hi():\n  print(\"Hi!\")\n"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 raw(block: true, -                     lang: "py", -                     text: "import this\n\ndef hi():\n  print(\"Hi!\")\n"), -                 parbreak() })
− test/out/text/raw-code-03.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-code-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-code-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-code-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/raw-code-03.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/raw-code-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 6.0 Pt)) ])-, ParBreak-, RawBlock-    "cpp"-    "#include <iostream>\n\nint main() {\n  std::cout << \"Hello, world!\";\n}\n"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 raw(block: true, -                     lang: "cpp", -                     text: "#include <iostream>\n\nint main() {\n  std::cout << \"Hello, world!\";\n}\n"), -                 parbreak() })
− test/out/text/raw-code-04.out
@@ -1,102 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/raw-code-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/raw-code-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/raw-code-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/raw-code-04.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/text/raw-code-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 6.0 Pt)) ])-, ParBreak-, Code-    "test/typ/text/raw-code-04.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg-           (Identifier "inset")-           (Dict-              [ Reg ( Ident (Identifier "x") , Literal (Numeric 4.0 Pt) )-              , Reg ( Ident (Identifier "y") , Literal (Numeric 5.0 Pt) )-              ])-       , KeyValArg (Identifier "radius") (Literal (Numeric 4.0 Pt))-       , KeyValArg-           (Identifier "fill")-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (Int 239))-              , NormalArg (Literal (Int 241))-              , NormalArg (Literal (Int 243))-              ])-       , BlockArg-           [ SoftBreak-           , RawBlock-               "html"-               "<!DOCTYPE html>\n  <html>\n    <head>\n      <meta charset=\"utf-8\">\n    </head>\n    <body>\n      <h1>Topic</h1>\n      <p>The Hypertext Markup Language.</p>\n      <script>\n        function foo(a, b) {\n          return a + b + \"string\";\n        }\n      </script>\n    </body>\n  </html>\n  "-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 rect(body: { text(body: [-], -                                   size: 6.0pt), -                              raw(block: true, -                                  lang: "html", -                                  text: "<!DOCTYPE html>\n  <html>\n    <head>\n      <meta charset=\"utf-8\">\n    </head>\n    <body>\n      <h1>Topic</h1>\n      <p>The Hypertext Markup Language.</p>\n      <script>\n        function foo(a, b) {\n          return a + b + \"string\";\n        }\n      </script>\n    </body>\n  </html>\n  "), -                              parbreak() }, -                      fill: rgb(93%,94%,95%,100%), -                      inset: (x: 4.0pt, y: 5.0pt), -                      radius: 4.0pt), -                 parbreak() })
− test/out/text/shaping-00.out
@@ -1,71 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/shaping-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/shaping-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/shaping-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "ABC\2309\2346\2366\2352\2381\2335\2350\2375\2306\2335"-, ParBreak-, Comment-, Text "\2309\2346\2366\2352\2381\2335\2350\2375\2306\2335"-, ParBreak-, Comment-, Comment-, Text "\2309"-, Space-, Text "\2346\2366"-, Space-, Text "\2352\2381"-, Space-, Text "\2335"-, Space-, Text "\2350\2375\2306"-, Space-, Text "\2335"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [ABCअपार्टमेंट]), -                 parbreak(), -                 text(body: [अपार्टमेंट]), -                 parbreak(), -                 text(body: [अ पा र् ट में ट]), -                 parbreak() })
− test/out/text/shaping-01.out
@@ -1,69 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/shaping-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/shaping-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/shaping-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/text/shaping-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl"))-       , KeyValArg-           (Identifier "font") (Literal (String "Noto Serif Hebrew"))-       ])-, SoftBreak-, HardBreak-, Text "\1496"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      dir: rtl, -                      font: "Noto Serif Hebrew"), -                 linebreak(), -                 text(body: [ט], -                      dir: rtl, -                      font: "Noto Serif Hebrew"), -                 parbreak() })
− test/out/text/shift-00.out
@@ -1,163 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/shift-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/shift-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/shift-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/shift-00.typ"-    ( line 2 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg (Identifier "columns") (Literal (Int 3))-       , NormalArg (Block (Content [ Text "Typo" , Text "." ]))-       , NormalArg (Block (Content [ Text "Fallb" , Text "." ]))-       , NormalArg (Block (Content [ Text "Synth" ]))-       , NormalArg-           (Block-              (Content-                 [ Text "x"-                 , Code-                     "test/typ/text/shift-00.typ"-                     ( line 5 , column 6 )-                     (FuncCall (Ident (Identifier "super")) [ BlockArg [ Text "1" ] ])-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Text "x"-                 , Code-                     "test/typ/text/shift-00.typ"-                     ( line 5 , column 20 )-                     (FuncCall (Ident (Identifier "super")) [ BlockArg [ Text "5n" ] ])-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Text "x"-                 , Code-                     "test/typ/text/shift-00.typ"-                     ( line 5 , column 35 )-                     (FuncCall-                        (Ident (Identifier "super"))-                        [ BlockArg-                            [ Text "2"-                            , Space-                            , Code-                                "test/typ/text/shift-00.typ"-                                ( line 5 , column 44 )-                                (FuncCall-                                   (Ident (Identifier "box"))-                                   [ NormalArg-                                       (FuncCall-                                          (Ident (Identifier "square"))-                                          [ KeyValArg (Identifier "size") (Literal (Numeric 6.0 Pt))-                                          ])-                                   ])-                            ]-                        ])-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Text "x"-                 , Code-                     "test/typ/text/shift-00.typ"-                     ( line 6 , column 6 )-                     (FuncCall (Ident (Identifier "sub")) [ BlockArg [ Text "1" ] ])-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Text "x"-                 , Code-                     "test/typ/text/shift-00.typ"-                     ( line 6 , column 18 )-                     (FuncCall (Ident (Identifier "sub")) [ BlockArg [ Text "5n" ] ])-                 ]))-       , NormalArg-           (Block-              (Content-                 [ Text "x"-                 , Code-                     "test/typ/text/shift-00.typ"-                     ( line 6 , column 31 )-                     (FuncCall-                        (Ident (Identifier "sub"))-                        [ BlockArg-                            [ Text "2"-                            , Space-                            , Code-                                "test/typ/text/shift-00.typ"-                                ( line 6 , column 38 )-                                (FuncCall-                                   (Ident (Identifier "box"))-                                   [ NormalArg-                                       (FuncCall-                                          (Ident (Identifier "square"))-                                          [ KeyValArg (Identifier "size") (Literal (Numeric 6.0 Pt))-                                          ])-                                   ])-                            ]-                        ])-                 ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 table(children: (text(body: [Typo.]), -                                  text(body: [Fallb.]), -                                  text(body: [Synth]), -                                  { text(body: [x]), -                                    super(body: text(body: [1])) }, -                                  { text(body: [x]), -                                    super(body: text(body: [5n])) }, -                                  { text(body: [x]), -                                    super(body: { text(body: [2 ]), -                                                  box(body: square(size: 6.0pt)) }) }, -                                  { text(body: [x]), -                                    sub(body: text(body: [1])) }, -                                  { text(body: [x]), -                                    sub(body: text(body: [5n])) }, -                                  { text(body: [x]), -                                    sub(body: { text(body: [2 ]), -                                                box(body: square(size: 6.0pt)) }) }), -                       columns: 3), -                 parbreak() })
− test/out/text/shift-01.out
@@ -1,92 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/shift-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/shift-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/shift-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/shift-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "super"))-       [ KeyValArg (Identifier "typographic") (Literal (Boolean False))-       , KeyValArg-           (Identifier "baseline") (Negated (Literal (Numeric 0.25 Em)))-       , KeyValArg (Identifier "size") (Literal (Numeric 0.7 Em))-       ])-, SoftBreak-, Text "n"-, Code-    "test/typ/text/shift-01.typ"-    ( line 3 , column 3 )-    (FuncCall (Ident (Identifier "super")) [ BlockArg [ Text "1" ] ])-, Text ","-, Space-, Text "n"-, Code-    "test/typ/text/shift-01.typ"-    ( line 3 , column 15 )-    (FuncCall (Ident (Identifier "sub")) [ BlockArg [ Text "2" ] ])-, Text ","-, Space-, Ellipsis-, Space-, Text "n"-, Code-    "test/typ/text/shift-01.typ"-    ( line 3 , column 29 )-    (FuncCall (Ident (Identifier "super")) [ BlockArg [ Text "N" ] ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-n]), -                 super(baseline: -0.25em, -                       body: text(body: [1]), -                       size: 0.7em, -                       typographic: false), -                 text(body: [, n]), -                 sub(body: text(body: [2])), -                 text(body: [, … n]), -                 super(baseline: -0.25em, -                       body: text(body: [N]), -                       size: 0.7em, -                       typographic: false), -                 parbreak() })
− test/out/text/shift-02.out
@@ -1,155 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/shift-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/shift-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/shift-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/shift-02.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "underline"))-       [ KeyValArg (Identifier "stroke") (Literal (Numeric 0.5 Pt))-       , KeyValArg (Identifier "offset") (Literal (Numeric 0.15 Em))-       ])-, SoftBreak-, Code-    "test/typ/text/shift-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "underline"))-       [ BlockArg-           [ Text "The"-           , Space-           , Text "claim"-           , Code-               "test/typ/text/shift-02.typ"-               ( line 3 , column 22 )-               (FuncCall-                  (Ident (Identifier "super"))-                  [ BlockArg [ Text "[" , Text "4" , Text "]" ] ])-           ]-       ])-, Space-, Text "has"-, Space-, Text "been"-, Space-, Text "disputed"-, Text "."-, Space-, HardBreak-, Text "The"-, Space-, Text "claim"-, Code-    "test/typ/text/shift-02.typ"-    ( line 4 , column 11 )-    (FuncCall-       (Ident (Identifier "super"))-       [ BlockArg-           [ Code-               "test/typ/text/shift-02.typ"-               ( line 4 , column 18 )-               (FuncCall-                  (Ident (Identifier "underline"))-                  [ BlockArg [ Text "[" , Text "4" , Text "]" ] ])-           ]-       ])-, Space-, Text "has"-, Space-, Text "been"-, Space-, Text "disputed"-, Text "."-, Space-, HardBreak-, Text "It"-, Space-, Text "really"-, Space-, Text "has"-, Space-, Text "been"-, Code-    "test/typ/text/shift-02.typ"-    ( line 5 , column 20 )-    (FuncCall-       (Ident (Identifier "super"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "box"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "text"))-                     [ KeyValArg (Identifier "baseline") (Literal (Numeric 0.0 Pt))-                     , NormalArg-                         (FuncCall-                            (Ident (Identifier "underline"))-                            [ BlockArg [ Text "[" , Text "4" , Text "]" ] ])-                     ])-              ])-       ])-, Space-, HardBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 underline(body: { text(body: [The claim]), -                                   super(body: text(body: [[4]])) }, -                           offset: 0.15em, -                           stroke: 0.5pt), -                 text(body: [ has been disputed. ]), -                 linebreak(), -                 text(body: [The claim]), -                 super(body: underline(body: text(body: [[4]]), -                                       offset: 0.15em, -                                       stroke: 0.5pt)), -                 text(body: [ has been disputed. ]), -                 linebreak(), -                 text(body: [It really has been]), -                 super(body: box(body: text(baseline: 0.0pt, -                                            body: underline(body: text(body: [[4]]), -                                                            offset: 0.15em, -                                                            stroke: 0.5pt)))), -                 text(body: [ ]), -                 linebreak() })
− test/out/text/space-00.out
@@ -1,241 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/space-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/space-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/space-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Code-    "test/typ/text/space-00.typ"-    ( line 3 , column 3 )-    (Let (BasicBind (Just (Identifier "x"))) (Literal (Int 1)))-, Text "B"-, Space-, Code-    "test/typ/text/space-00.typ"-    ( line 3 , column 17 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (Int 1))-       ])-, Space-, HardBreak-, Text "C"-, Space-, Code-    "test/typ/text/space-00.typ"-    ( line 4 , column 4 )-    (Let (BasicBind (Just (Identifier "x"))) (Literal (Int 2)))-, Text "D"-, Space-, Code-    "test/typ/text/space-00.typ"-    ( line 4 , column 17 )-    (FuncCall-       (Ident (Identifier "test"))-       [ NormalArg (Ident (Identifier "x"))-       , NormalArg (Literal (Int 2))-       ])-, Space-, HardBreak-, Text "E"-, Code-    "test/typ/text/space-00.typ"-    ( line 5 , column 3 )-    (If [ ( Literal (Boolean True) , Block (Content [ Text "F" ]) ) ])-, Text "G"-, Space-, HardBreak-, Text "H"-, Space-, Code-    "test/typ/text/space-00.typ"-    ( line 6 , column 4 )-    (If-       [ ( Literal (Boolean True)-         , Block (CodeBlock [ Literal (String "I") ])-         )-       ])-, Space-, Text "J"-, Space-, HardBreak-, Text "K"-, Space-, Code-    "test/typ/text/space-00.typ"-    ( line 7 , column 4 )-    (If-       [ ( Literal (Boolean True) , Block (Content [ Text "L" ]) )-       , ( Literal (Boolean True) , Block (Content []) )-       ])-, Text "M"-, Space-, HardBreak-, Code-    "test/typ/text/space-00.typ"-    ( line 8 , column 2 )-    (Let (BasicBind (Just (Identifier "c"))) (Literal (Boolean True)))-, Space-, Text "N"-, Code-    "test/typ/text/space-00.typ"-    ( line 8 , column 18 )-    (While-       (Ident (Identifier "c"))-       (Block-          (Content-             [ Code-                 "test/typ/text/space-00.typ"-                 ( line 8 , column 28 )-                 (Assign (Ident (Identifier "c")) (Literal (Boolean False)))-             , Text "O"-             ])))-, Space-, Text "P"-, Space-, HardBreak-, Code-    "test/typ/text/space-00.typ"-    ( line 9 , column 2 )-    (Let (BasicBind (Just (Identifier "c"))) (Literal (Boolean True)))-, Space-, Text "Q"-, Space-, Code-    "test/typ/text/space-00.typ"-    ( line 9 , column 19 )-    (While-       (Ident (Identifier "c"))-       (Block-          (CodeBlock-             [ Assign (Ident (Identifier "c")) (Literal (Boolean False))-             , Literal (String "R")-             ])))-, Space-, Text "S"-, Space-, HardBreak-, Text "T"-, Code-    "test/typ/text/space-00.typ"-    ( line 10 , column 3 )-    (For-       (BasicBind Nothing)-       (Array [ Reg (Literal None) ])-       (Block (CodeBlock [ Literal (String "U") ])))-, Text "V"-, SoftBreak-, Code-    "test/typ/text/space-00.typ"-    ( line 11 , column 2 )-    (Let (BasicBind (Just (Identifier "foo"))) (Literal (String "A")))-, Space-, HardBreak-, Code-    "test/typ/text/space-00.typ"-    ( line 12 , column 2 )-    (Ident (Identifier "foo"))-, Text "B"-, Space-, HardBreak-, Code-    "test/typ/text/space-00.typ"-    ( line 13 , column 2 )-    (Ident (Identifier "foo"))-, Space-, Text "B"-, Space-, HardBreak-, Code-    "test/typ/text/space-00.typ"-    ( line 14 , column 2 )-    (Ident (Identifier "foo"))-, Text "B"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A]), -                 text(body: [B ]), -                 text(body: [✅]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [C ]), -                 text(body: [D ]), -                 text(body: [✅]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [E]), -                 text(body: [F]), -                 text(body: [G ]), -                 linebreak(), -                 text(body: [H ]), -                 text(body: [I]), -                 text(body: [ J ]), -                 linebreak(), -                 text(body: [K ]), -                 text(body: [L]), -                 text(body: [M ]), -                 linebreak(), -                 text(body: [ N]), -                 text(body: [O]), -                 text(body: [ P ]), -                 linebreak(), -                 text(body: [ Q ]), -                 text(body: [R]), -                 text(body: [ S ]), -                 linebreak(), -                 text(body: [T]), -                 text(body: [U]), -                 text(body: [V-]), -                 text(body: [ ]), -                 linebreak(), -                 text(body: [A]), -                 text(body: [B ]), -                 linebreak(), -                 text(body: [A]), -                 text(body: [ B ]), -                 linebreak(), -                 text(body: [A]), -                 text(body: [B]), -                 parbreak() })
− test/out/text/space-01.out
@@ -1,82 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/space-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/space-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/space-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Comment-, Text "B"-, Comment-, Text "C"-, Space-, HardBreak-, Text "A"-, Space-, Comment-, Space-, Text "B"-, Comment-, Text "C"-, Space-, HardBreak-, Text "A"-, Space-, Comment-, Text "B"-, Comment-, Space-, Text "C"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A]), -                 text(body: [B]), -                 text(body: [C ]), -                 linebreak(), -                 text(body: [A ]), -                 text(body: [ B]), -                 text(body: [C ]), -                 linebreak(), -                 text(body: [A ]), -                 text(body: [B]), -                 text(body: [ C]), -                 parbreak() })
− test/out/text/space-02.out
@@ -1,62 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/space-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/space-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/space-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Code-    "test/typ/text/space-02.typ"-    ( line 3 , column 3 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))-       , BlockArg [ Space ]-       ])-, Text "B"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A]), -                 text(body: text(body: [ ]), -                      font: "IBM Plex Serif"), -                 text(body: [B]), -                 parbreak() })
− test/out/text/space-03.out
@@ -1,63 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/space-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/space-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/space-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "Left"-, Space-, Code-    "test/typ/text/space-03.typ"-    ( line 3 , column 7 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))-       , BlockArg [ Text "Right" ]-       ])-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [Left ]), -                 text(body: text(body: [Right]), -                      font: "IBM Plex Serif"), -                 text(body: [.]), -                 parbreak() })
− test/out/text/space-04.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/space-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/space-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/space-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/space-04.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center"))-       , BlockArg-           [ Text "A"-           , Space-           , HardBreak-           , Text "B"-           , Space-           , HardBreak-           , Text "C"-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 align(alignment: center, -                       body: { text(body: [A ]), -                               linebreak(), -                               text(body: [B ]), -                               linebreak(), -                               text(body: [C]) }), -                 parbreak() })
− test/out/text/space-05.out
@@ -1,59 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/space-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/space-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/space-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Code-    "test/typ/text/space-05.typ"-    ( line 3 , column 3 )-    (Literal (String "\n"))-, Space-, Text "B"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A]), -                 text(body: [-]), -                 text(body: [ B]), -                 parbreak() })
− test/out/text/space-06.out
@@ -1,55 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/space-06.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/space-06.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/space-06.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "LLLLLLLLLLLLLLLLLL"-, Space-, Text "R"-, Space-, Emph [ Text "L" ]-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [LLLLLLLLLLLLLLLLLL R ]), -                 emph(body: text(body: [L])), -                 parbreak() })
− test/out/text/symbol-00.out
@@ -1,164 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/symbol-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/symbol-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/symbol-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/text/symbol-00.typ"-    ( line 2 , column 2 )-    (FieldAccess-       (Ident (Identifier "face")) (Ident (Identifier "emoji")))-, SoftBreak-, Code-    "test/typ/text/symbol-00.typ"-    ( line 3 , column 2 )-    (FieldAccess-       (Ident (Identifier "old"))-       (FieldAccess-          (Ident (Identifier "woman")) (Ident (Identifier "emoji"))))-, SoftBreak-, Code-    "test/typ/text/symbol-00.typ"-    ( line 4 , column 2 )-    (FieldAccess-       (Ident (Identifier "turtle")) (Ident (Identifier "emoji")))-, ParBreak-, Code-    "test/typ/text/symbol-00.typ"-    ( line 6 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font") (Literal (String "New Computer Modern Math"))-       ])-, SoftBreak-, Code-    "test/typ/text/symbol-00.typ"-    ( line 7 , column 2 )-    (FieldAccess-       (Ident (Identifier "arrow")) (Ident (Identifier "sym")))-, SoftBreak-, Code-    "test/typ/text/symbol-00.typ"-    ( line 8 , column 2 )-    (FieldAccess-       (Ident (Identifier "l"))-       (FieldAccess-          (Ident (Identifier "arrow")) (Ident (Identifier "sym"))))-, SoftBreak-, Code-    "test/typ/text/symbol-00.typ"-    ( line 9 , column 2 )-    (FieldAccess-       (Ident (Identifier "squiggly"))-       (FieldAccess-          (Ident (Identifier "r"))-          (FieldAccess-             (Ident (Identifier "arrow")) (Ident (Identifier "sym")))))-, SoftBreak-, Code-    "test/typ/text/symbol-00.typ"-    ( line 10 , column 2 )-    (FieldAccess-       (Ident (Identifier "hook"))-       (FieldAccess-          (Ident (Identifier "tr"))-          (FieldAccess-             (Ident (Identifier "arrow")) (Ident (Identifier "sym")))))-, ParBreak-, Code-    "test/typ/text/symbol-00.typ"-    ( line 12 , column 2 )-    (FieldAccess-       (Ident (Identifier "r"))-       (FieldAccess-          (Ident (Identifier "arrow")) (Ident (Identifier "sym"))))-, Text "this"-, Space-, Text "and"-, Space-, Text "this"-, Code-    "test/typ/text/symbol-00.typ"-    ( line 12 , column 28 )-    (FieldAccess-       (Ident (Identifier "l"))-       (FieldAccess-          (Ident (Identifier "arrow")) (Ident (Identifier "sym"))))-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [😀]), -                 text(body: [-]), -                 text(body: [👵]), -                 text(body: [-]), -                 text(body: [🐢]), -                 parbreak(), -                 text(body: [-], -                      font: "New Computer Modern Math"), -                 text(body: [→], -                      font: "New Computer Modern Math"), -                 text(body: [-], -                      font: "New Computer Modern Math"), -                 text(body: [←], -                      font: "New Computer Modern Math"), -                 text(body: [-], -                      font: "New Computer Modern Math"), -                 text(body: [⇝], -                      font: "New Computer Modern Math"), -                 text(body: [-], -                      font: "New Computer Modern Math"), -                 text(body: [⤤], -                      font: "New Computer Modern Math"), -                 parbreak(), -                 text(body: [→], -                      font: "New Computer Modern Math"), -                 text(body: [this and this], -                      font: "New Computer Modern Math"), -                 text(body: [←], -                      font: "New Computer Modern Math"), -                 parbreak() })
− test/out/text/symbol-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/text/tracking-spacing-00.out
@@ -1,74 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/tracking-spacing-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/tracking-spacing-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/tracking-spacing-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/tracking-spacing-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "tracking") (Negated (Literal (Numeric 1.0e-2 Em)))-       ])-, SoftBreak-, Text "I"-, Space-, Text "saw"-, Space-, Text "Zoe"-, Space-, Text "y\1243sterday,"-, Space-, Text "on"-, Space-, Text "the"-, Space-, Text "tram"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-I saw Zoe yӛsterday, on the tram.], -                      tracking: -1.0e-2em), -                 parbreak() })
− test/out/text/tracking-spacing-01.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/tracking-spacing-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/tracking-spacing-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/tracking-spacing-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "I"-, Quote '\''-, Text "m"-, Space-, Text "in"-, Code-    "test/typ/text/tracking-spacing-01.typ"-    ( line 3 , column 8 )-    (FuncCall-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "tracking")-           (Plus (Literal (Numeric 0.15 Em)) (Literal (Numeric 1.5 Pt)))-       , BlockArg [ Space , Text "spaace" ]-       ])-, Text "!"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [I’m in]), -                 text(body: text(body: [ spaace]), -                      tracking: 0.15em + 1.5pt), -                 text(body: [!]), -                 parbreak() })
− test/out/text/tracking-spacing-02.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/tracking-spacing-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/tracking-spacing-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/tracking-spacing-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/tracking-spacing-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "font")-           (Array-              [ Reg (Literal (String "PT Sans"))-              , Reg (Literal (String "Noto Serif Hebrew"))-              ])-       ])-, SoftBreak-, Code-    "test/typ/text/tracking-spacing-02.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "tracking") (Literal (Numeric 0.3 Em)) ])-, SoftBreak-, Text "\1496\1462\1511\1505\1496"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      font: ("PT Sans", -                             "Noto Serif Hebrew")), -                 text(body: [-טֶקסט], -                      font: ("PT Sans", -                             "Noto Serif Hebrew"), -                      tracking: 0.3em), -                 parbreak() })
− test/out/text/tracking-spacing-03.out
@@ -1,59 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/tracking-spacing-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/tracking-spacing-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/tracking-spacing-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/tracking-spacing-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "tracking") (Literal (Numeric 0.3 Em)) ])-, SoftBreak-, Text "\1575\1604\1606\1589"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-النص], -                      tracking: 0.3em), -                 parbreak() })
− test/out/text/tracking-spacing-04.out
@@ -1,66 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/tracking-spacing-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/tracking-spacing-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/tracking-spacing-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/tracking-spacing-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Em)) ])-, SoftBreak-, Text "My"-, Space-, Text "text"-, Space-, Text "has"-, Space-, Text "spaces"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-My text has spaces.], -                      spacing: 1.0em), -                 parbreak() })
− test/out/text/tracking-spacing-05.out
@@ -1,67 +0,0 @@---- parse tree ----[ Code-    "test/typ/text/tracking-spacing-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/text/tracking-spacing-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/text/tracking-spacing-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/text/tracking-spacing-05.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg-           (Identifier "spacing")-           (Plus (Literal (Numeric 50.0 Percent)) (Literal (Numeric 1.0 Pt)))-       ])-, SoftBreak-, Text "This"-, Space-, Text "is"-, Space-, Text "tight"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-This is tight.], -                      spacing: 1.0pt + 50%), -                 parbreak() })
− test/out/visualize/image-00.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/image-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/image-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/image-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/visualize/image-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "image"))-       [ NormalArg (Literal (String "/assets/files/rhino.png")) ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/image-00.typ"-    ( line 8 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/image-00.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "image"))-       [ NormalArg (Literal (String "/assets/files/tiger.jpg")) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 image(path: "/assets/files/rhino.png"), -                 parbreak(), -                 text(body: [-]), -                 image(path: "/assets/files/tiger.jpg"), -                 parbreak() })
− test/out/visualize/image-01.out
@@ -1,122 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/image-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/image-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/image-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Comment-, Code-    "test/typ/visualize/image-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/rhino.png"))-              , KeyValArg (Identifier "width") (Literal (Numeric 30.0 Pt))-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/image-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/rhino.png"))-              , KeyValArg (Identifier "height") (Literal (Numeric 30.0 Pt))-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/image-01.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "image"))-       [ NormalArg (Literal (String "/assets/files/monkey.svg"))-       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))-       , KeyValArg (Identifier "fit") (Literal (String "stretch"))-       ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/image-01.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg-           (Plus (Ident (Identifier "bottom")) (Ident (Identifier "right")))-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))-              , KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt))-              , KeyValArg (Identifier "alt") (Literal (String "A tiger"))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 box(body: image(path: "/assets/files/rhino.png", -                                 width: 30.0pt)), -                 text(body: [-]), -                 box(body: image(height: 30.0pt, -                                 path: "/assets/files/rhino.png")), -                 parbreak(), -                 image(fit: "stretch", -                       height: 20.0pt, -                       path: "/assets/files/monkey.svg", -                       width: 100%), -                 parbreak(), -                 align(alignment: Axes(right, bottom), -                       body: image(alt: "A tiger", -                                   path: "/assets/files/tiger.jpg", -                                   width: 40.0pt)), -                 parbreak() })
− test/out/visualize/image-02.out
@@ -1,115 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/image-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/image-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/image-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/image-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/image-02.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Array-              [ Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              ])-       , KeyValArg (Identifier "rows") (Literal (Numeric 100.0 Percent))-       , KeyValArg (Identifier "gutter") (Literal (Numeric 3.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fit") (Literal (String "contain"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fit") (Literal (String "cover"))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/monkey.svg"))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "fit") (Literal (String "stretch"))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 grid(children: (image(fit: "contain", -                                       height: 100%, -                                       path: "/assets/files/tiger.jpg", -                                       width: 100%), -                                 image(fit: "cover", -                                       height: 100%, -                                       path: "/assets/files/tiger.jpg", -                                       width: 100%), -                                 image(fit: "stretch", -                                       height: 100%, -                                       path: "/assets/files/monkey.svg", -                                       width: 100%)), -                      columns: (1.0fr, -                                1.0fr, -                                1.0fr), -                      gutter: 3.0pt, -                      rows: 100%), -                 parbreak() })
− test/out/visualize/image-03.out
@@ -1,67 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/image-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/image-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/image-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/image-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])-, SoftBreak-, Text "Stuff"-, SoftBreak-, Code-    "test/typ/visualize/image-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "image"))-       [ NormalArg (Literal (String "/assets/files/rhino.png")) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-Stuff-]), -                 image(path: "/assets/files/rhino.png"), -                 parbreak() })
− test/out/visualize/image-04.out
@@ -1,70 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/image-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/image-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/image-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Text "A"-, Space-, Code-    "test/typ/visualize/image-04.typ"-    ( line 3 , column 4 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))-              , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Cm))-              , KeyValArg (Identifier "width") (Literal (Numeric 80.0 Percent))-              ])-       ])-, Space-, Text "B"-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [A ]), -                 box(body: image(height: 1.0cm, -                                 path: "/assets/files/tiger.jpg", -                                 width: 80%)), -                 text(body: [ B]), -                 parbreak() })
− test/out/visualize/image-05.out
@@ -1,55 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/image-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/image-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/image-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/image-05.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "image"))-       [ NormalArg (Literal (String "/assets/files/pattern.svg")) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 image(path: "/assets/files/pattern.svg"), -                 parbreak() })
− test/out/visualize/image-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/image-07.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/image-08.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/line-00.out
@@ -1,152 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/line-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/line-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/line-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/visualize/line-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/line-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (Block-              (CodeBlock-                 [ Set-                     (Ident (Identifier "line"))-                     [ KeyValArg (Identifier "stroke") (Literal (Numeric 0.75 Pt)) ]-                 , FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg-                                (Identifier "end")-                                (Array-                                   [ Reg (Literal (Numeric 0.4 Em))-                                   , Reg (Literal (Numeric 0.0 Pt))-                                   ])-                            ])-                     ]-                 , FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 0.0 Pt))-                                   , Reg (Literal (Numeric 0.4 Em))-                                   ])-                            , KeyValArg-                                (Identifier "end")-                                (Array-                                   [ Reg (Literal (Numeric 0.0 Pt))-                                   , Reg (Literal (Numeric 0.0 Pt))-                                   ])-                            ])-                     ]-                 , FuncCall-                     (Ident (Identifier "line"))-                     [ KeyValArg-                         (Identifier "end")-                         (Array-                            [ Reg (Literal (Numeric 0.6 Em))-                            , Reg (Literal (Numeric 0.6 Em))-                            ])-                     ]-                 ]))-       ])-, Space-, Text "Hello"-, Space-, Code-    "test/typ/visualize/line-00.typ"-    ( line 8 , column 11 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "line"))-              [ KeyValArg (Identifier "length") (Literal (Numeric 1.0 Cm)) ])-       ])-, Text "!"-, ParBreak-, Code-    "test/typ/visualize/line-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg-           (Identifier "end")-           (Array-              [ Reg (Literal (Numeric 70.0 Percent))-              , Reg (Literal (Numeric 50.0 Percent))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 box(body: { place(body: line(end: (0.4em, -                                                    0.0pt), -                                              stroke: 0.75pt)), -                             place(body: line(end: (0.0pt, -                                                    0.0pt), -                                              start: (0.0pt, -                                                      0.4em), -                                              stroke: 0.75pt)), -                             line(end: (0.6em, 0.6em), -                                  stroke: 0.75pt) }), -                 text(body: [ Hello ]), -                 box(body: line(length: 1.0cm)), -                 text(body: [!]), -                 parbreak(), -                 line(end: (70%, 50%)), -                 parbreak() })
− test/out/visualize/line-01.out
@@ -1,1179 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/line-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/line-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/line-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/visualize/line-01.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg-           (Identifier "fill")-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (String "0B1026")) ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/line-01.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "stroke") (Ident (Identifier "white")) ])-, ParBreak-, Code-    "test/typ/visualize/line-01.typ"-    ( line 7 , column 2 )-    (LetFunc-       (Identifier "star")-       [ NormalParam (Identifier "size")-       , SinkParam (Just (Identifier "args"))-       ]-       (FuncCall-          (Ident (Identifier "box"))-          [ KeyValArg (Identifier "width") (Ident (Identifier "size"))-          , KeyValArg (Identifier "height") (Ident (Identifier "size"))-          , BlockArg-              [ SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 8 , column 4 )-                  (Set-                     (Ident (Identifier "text"))-                     [ KeyValArg (Identifier "spacing") (Literal (Numeric 0.0 Percent))-                     ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 9 , column 4 )-                  (Set-                     (Ident (Identifier "line"))-                     [ SpreadArg (Ident (Identifier "args")) ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 10 , column 4 )-                  (Set-                     (Ident (Identifier "align"))-                     [ NormalArg (Ident (Identifier "left")) ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 11 , column 4 )-                  (FuncCall-                     (Ident (Identifier "v"))-                     [ NormalArg (Literal (Numeric 30.0 Percent)) ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 12 , column 4 )-                  (FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))-                            , KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 9.0 Percent))-                                   , Reg (Literal (Numeric 2.0 Percent))-                                   ])-                            ])-                     ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 13 , column 4 )-                  (FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))-                            , KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 38.7 Percent))-                                   , Reg (Literal (Numeric 2.0 Percent))-                                   ])-                            , KeyValArg-                                (Identifier "angle") (Negated (Literal (Numeric 72.0 Deg)))-                            ])-                     ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 14 , column 4 )-                  (FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))-                            , KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 57.5 Percent))-                                   , Reg (Literal (Numeric 2.0 Percent))-                                   ])-                            , KeyValArg (Identifier "angle") (Literal (Numeric 252.0 Deg))-                            ])-                     ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 15 , column 4 )-                  (FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))-                            , KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 57.3 Percent))-                                   , Reg (Literal (Numeric 2.0 Percent))-                                   ])-                            ])-                     ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 16 , column 4 )-                  (FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg-                                (Identifier "length") (Negated (Literal (Numeric 30.0 Percent)))-                            , KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 88.0 Percent))-                                   , Reg (Literal (Numeric 2.0 Percent))-                                   ])-                            , KeyValArg-                                (Identifier "angle") (Negated (Literal (Numeric 36.0 Deg)))-                            ])-                     ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 17 , column 4 )-                  (FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))-                            , KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 73.3 Percent))-                                   , Reg (Literal (Numeric 48.0 Percent))-                                   ])-                            , KeyValArg (Identifier "angle") (Literal (Numeric 252.0 Deg))-                            ])-                     ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 18 , column 4 )-                  (FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg-                                (Identifier "length") (Negated (Literal (Numeric 30.0 Percent)))-                            , KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 73.5 Percent))-                                   , Reg (Literal (Numeric 48.0 Percent))-                                   ])-                            , KeyValArg (Identifier "angle") (Literal (Numeric 36.0 Deg))-                            ])-                     ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 19 , column 4 )-                  (FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))-                            , KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 25.4 Percent))-                                   , Reg (Literal (Numeric 48.0 Percent))-                                   ])-                            , KeyValArg-                                (Identifier "angle") (Negated (Literal (Numeric 36.0 Deg)))-                            ])-                     ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 20 , column 4 )-                  (FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))-                            , KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 25.6 Percent))-                                   , Reg (Literal (Numeric 48.0 Percent))-                                   ])-                            , KeyValArg-                                (Identifier "angle") (Negated (Literal (Numeric 72.0 Deg)))-                            ])-                     ])-              , SoftBreak-              , Code-                  "test/typ/visualize/line-01.typ"-                  ( line 21 , column 4 )-                  (FuncCall-                     (Ident (Identifier "place"))-                     [ NormalArg-                         (FuncCall-                            (Ident (Identifier "line"))-                            [ KeyValArg (Identifier "length") (Literal (Numeric 32.0 Percent))-                            , KeyValArg-                                (Identifier "start")-                                (Array-                                   [ Reg (Literal (Numeric 8.5 Percent))-                                   , Reg (Literal (Numeric 2.0 Percent))-                                   ])-                            , KeyValArg (Identifier "angle") (Literal (Numeric 34.0 Deg))-                            ])-                     ])-              , ParBreak-              ]-          ]))-, ParBreak-, Code-    "test/typ/visualize/line-01.typ"-    ( line 24 , column 2 )-    (FuncCall-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "center"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "grid"))-              [ KeyValArg (Identifier "columns") (Literal (Int 3))-              , KeyValArg-                  (Identifier "column-gutter") (Literal (Numeric 10.0 Pt))-              , SpreadArg-                  (Times-                     (Array-                        [ Reg-                            (FuncCall-                               (Ident (Identifier "star"))-                               [ NormalArg (Literal (Numeric 20.0 Pt))-                               , KeyValArg (Identifier "stroke") (Literal (Numeric 0.5 Pt))-                               ])-                        ])-                     (Literal (Int 9)))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 parbreak(), -                 align(alignment: center, -                       body: grid(children: (box(body: { text(body: [-]), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         v(amount: 30%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (9%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (38%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: -30%, -                                                                          start: (88%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 36.0deg, -                                                                          length: -30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 34.0deg, -                                                                          length: 32%, -                                                                          start: (8%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         parbreak() }, -                                                 height: 20.0pt, -                                                 width: 20.0pt), -                                             box(body: { text(body: [-]), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         v(amount: 30%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (9%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (38%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: -30%, -                                                                          start: (88%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 36.0deg, -                                                                          length: -30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 34.0deg, -                                                                          length: 32%, -                                                                          start: (8%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         parbreak() }, -                                                 height: 20.0pt, -                                                 width: 20.0pt), -                                             box(body: { text(body: [-]), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         v(amount: 30%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (9%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (38%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: -30%, -                                                                          start: (88%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 36.0deg, -                                                                          length: -30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 34.0deg, -                                                                          length: 32%, -                                                                          start: (8%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         parbreak() }, -                                                 height: 20.0pt, -                                                 width: 20.0pt), -                                             box(body: { text(body: [-]), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         v(amount: 30%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (9%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (38%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: -30%, -                                                                          start: (88%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 36.0deg, -                                                                          length: -30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 34.0deg, -                                                                          length: 32%, -                                                                          start: (8%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         parbreak() }, -                                                 height: 20.0pt, -                                                 width: 20.0pt), -                                             box(body: { text(body: [-]), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         v(amount: 30%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (9%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (38%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: -30%, -                                                                          start: (88%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 36.0deg, -                                                                          length: -30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 34.0deg, -                                                                          length: 32%, -                                                                          start: (8%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         parbreak() }, -                                                 height: 20.0pt, -                                                 width: 20.0pt), -                                             box(body: { text(body: [-]), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         v(amount: 30%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (9%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (38%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: -30%, -                                                                          start: (88%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 36.0deg, -                                                                          length: -30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 34.0deg, -                                                                          length: 32%, -                                                                          start: (8%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         parbreak() }, -                                                 height: 20.0pt, -                                                 width: 20.0pt), -                                             box(body: { text(body: [-]), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         v(amount: 30%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (9%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (38%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: -30%, -                                                                          start: (88%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 36.0deg, -                                                                          length: -30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 34.0deg, -                                                                          length: 32%, -                                                                          start: (8%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         parbreak() }, -                                                 height: 20.0pt, -                                                 width: 20.0pt), -                                             box(body: { text(body: [-]), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         v(amount: 30%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (9%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (38%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: -30%, -                                                                          start: (88%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 36.0deg, -                                                                          length: -30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 34.0deg, -                                                                          length: 32%, -                                                                          start: (8%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         parbreak() }, -                                                 height: 20.0pt, -                                                 width: 20.0pt), -                                             box(body: { text(body: [-]), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         v(amount: 30%), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (9%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (38%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(length: 30%, -                                                                          start: (57%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: -30%, -                                                                          start: (88%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 252.0deg, -                                                                          length: 30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 36.0deg, -                                                                          length: -30%, -                                                                          start: (73%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -36.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: -72.0deg, -                                                                          length: 30%, -                                                                          start: (25%, -                                                                                  48%), -                                                                          stroke: 0.5pt)), -                                                         text(body: [-], -                                                              spacing: 0%), -                                                         place(body: line(angle: 34.0deg, -                                                                          length: 32%, -                                                                          start: (8%, -                                                                                  2%), -                                                                          stroke: 0.5pt)), -                                                         parbreak() }, -                                                 height: 20.0pt, -                                                 width: 20.0pt)), -                                  column-gutter: 10.0pt, -                                  columns: 3)), -                 parbreak() })
− test/out/visualize/line-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/line-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/path-00.out
@@ -1,305 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/path-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/path-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/path-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/visualize/path-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 200.0 Pt))-       , KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/path-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg-           (Identifier "columns")-           (Array-              [ Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              ])-       , KeyValArg-           (Identifier "rows")-           (Array-              [ Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal (Numeric 1.0 Fr))-              ])-       , KeyValArg-           (Identifier "align")-           (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-       , NormalArg-           (FuncCall-              (Ident (Identifier "path"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              , KeyValArg (Identifier "closed") (Literal (Boolean True))-              , NormalArg-                  (Array-                     [ Reg-                         (Array-                            [ Reg (Literal (Numeric 0.0 Percent))-                            , Reg (Literal (Numeric 0.0 Percent))-                            ])-                     , Reg-                         (Array-                            [ Reg (Literal (Numeric 4.0 Percent))-                            , Reg (Negated (Literal (Numeric 4.0 Percent)))-                            ])-                     ])-              , NormalArg-                  (Array-                     [ Reg-                         (Array-                            [ Reg (Literal (Numeric 50.0 Percent))-                            , Reg (Literal (Numeric 50.0 Percent))-                            ])-                     , Reg-                         (Array-                            [ Reg (Literal (Numeric 4.0 Percent))-                            , Reg (Negated (Literal (Numeric 4.0 Percent)))-                            ])-                     ])-              , NormalArg-                  (Array-                     [ Reg-                         (Array-                            [ Reg (Literal (Numeric 0.0 Percent))-                            , Reg (Literal (Numeric 50.0 Percent))-                            ])-                     , Reg-                         (Array-                            [ Reg (Literal (Numeric 4.0 Percent))-                            , Reg (Literal (Numeric 4.0 Percent))-                            ])-                     ])-              , NormalArg-                  (Array-                     [ Reg-                         (Array-                            [ Reg (Literal (Numeric 50.0 Percent))-                            , Reg (Literal (Numeric 0.0 Percent))-                            ])-                     , Reg-                         (Array-                            [ Reg (Literal (Numeric 4.0 Percent))-                            , Reg (Literal (Numeric 4.0 Percent))-                            ])-                     ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "path"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "purple"))-              , KeyValArg (Identifier "stroke") (Literal (Numeric 1.0 Pt))-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 0.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 30.0 Pt))-                     , Reg (Literal (Numeric 30.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 30.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 30.0 Pt))-                     , Reg (Literal (Numeric 0.0 Pt))-                     ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "path"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "blue"))-              , KeyValArg (Identifier "stroke") (Literal (Numeric 1.0 Pt))-              , KeyValArg (Identifier "closed") (Literal (Boolean True))-              , NormalArg-                  (Array-                     [ Reg-                         (Array-                            [ Reg (Literal (Numeric 30.0 Percent))-                            , Reg (Literal (Numeric 0.0 Percent))-                            ])-                     , Reg-                         (Array-                            [ Reg (Literal (Numeric 35.0 Percent))-                            , Reg (Literal (Numeric 30.0 Percent))-                            ])-                     , Reg-                         (Array-                            [ Reg (Negated (Literal (Numeric 20.0 Percent)))-                            , Reg (Literal (Numeric 0.0 Percent))-                            ])-                     ])-              , NormalArg-                  (Array-                     [ Reg-                         (Array-                            [ Reg (Literal (Numeric 30.0 Percent))-                            , Reg (Literal (Numeric 60.0 Percent))-                            ])-                     , Reg-                         (Array-                            [ Reg (Negated (Literal (Numeric 20.0 Percent)))-                            , Reg (Literal (Numeric 0.0 Percent))-                            ])-                     , Reg-                         (Array-                            [ Reg (Literal (Numeric 0.0 Percent))-                            , Reg (Literal (Numeric 0.0 Percent))-                            ])-                     ])-              , NormalArg-                  (Array-                     [ Reg-                         (Array-                            [ Reg (Literal (Numeric 50.0 Percent))-                            , Reg (Literal (Numeric 30.0 Percent))-                            ])-                     , Reg-                         (Array-                            [ Reg (Literal (Numeric 60.0 Percent))-                            , Reg (Negated (Literal (Numeric 30.0 Percent)))-                            ])-                     , Reg-                         (Array-                            [ Reg (Literal (Numeric 60.0 Percent))-                            , Reg (Literal (Numeric 0.0 Percent))-                            ])-                     ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "path"))-              [ KeyValArg (Identifier "stroke") (Literal (Numeric 5.0 Pt))-              , KeyValArg (Identifier "closed") (Literal (Boolean True))-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 30.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 30.0 Pt))-                     , Reg (Literal (Numeric 30.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 15.0 Pt))-                     , Reg (Literal (Numeric 0.0 Pt))-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 table(align: Axes(center, horizon), -                       children: (path(closed: true, -                                       fill: rgb(100%,25%,21%,100%), -                                       vertices: (((0%, -                                                    0%), -                                                   (4%, -                                                    -4%)), -                                                  ((50%, -                                                    50%), -                                                   (4%, -                                                    -4%)), -                                                  ((0%, -                                                    50%), -                                                   (4%, -                                                    4%)), -                                                  ((50%, -                                                    0%), -                                                   (4%, -                                                    4%)))), -                                  path(fill: rgb(69%,5%,78%,100%), -                                       stroke: 1.0pt, -                                       vertices: ((0.0pt, -                                                   0.0pt), -                                                  (30.0pt, -                                                   30.0pt), -                                                  (0.0pt, -                                                   30.0pt), -                                                  (30.0pt, -                                                   0.0pt))), -                                  path(closed: true, -                                       fill: rgb(0%,45%,85%,100%), -                                       stroke: 1.0pt, -                                       vertices: (((30%, -                                                    0%), -                                                   (35%, -                                                    30%), -                                                   (-20%, -                                                    0%)), -                                                  ((30%, -                                                    60%), -                                                   (-20%, -                                                    0%), -                                                   (0%, -                                                    0%)), -                                                  ((50%, -                                                    30%), -                                                   (60%, -                                                    -30%), -                                                   (60%, -                                                    0%)))), -                                  path(closed: true, -                                       stroke: 5.0pt, -                                       vertices: ((0.0pt, -                                                   30.0pt), -                                                  (30.0pt, -                                                   30.0pt), -                                                  (15.0pt, -                                                   0.0pt)))), -                       columns: (1.0fr, 1.0fr), -                       rows: (1.0fr, 1.0fr)), -                 parbreak() })
− test/out/visualize/path-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/path-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/path-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/polygon-00.out
@@ -1,349 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/polygon-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/polygon-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/polygon-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "polygon"))-       [ KeyValArg (Identifier "stroke") (Literal (Numeric 0.75 Pt))-       , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))-       ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 6 , column 2 )-    (FuncCall (Ident (Identifier "polygon")) [])-, SoftBreak-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "polygon"))-       [ NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Em))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "polygon"))-       [ NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 10.0 Pt))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       ])-, ParBreak-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "polygon"))-       [ NormalArg-           (Array-              [ Reg (Literal (Numeric 5.0 Pt))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 10.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 10.0 Pt))-              , Reg (Literal (Numeric 10.0 Pt))-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "polygon"))-       [ NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 5.0 Pt))-              , Reg (Literal (Numeric 5.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 10.0 Pt))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 15.0 Pt))-              , Reg (Literal (Numeric 5.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 5.0 Pt))-              , Reg (Literal (Numeric 10.0 Pt))-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 16 , column 2 )-    (FuncCall-       (Ident (Identifier "polygon"))-       [ KeyValArg (Identifier "stroke") (Literal None)-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 5.0 Pt))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 10.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 10.0 Pt))-              , Reg (Literal (Numeric 10.0 Pt))-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "polygon"))-       [ KeyValArg (Identifier "stroke") (Literal (Numeric 3.0 Pt))-       , KeyValArg (Identifier "fill") (Literal None)-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 5.0 Pt))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 10.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 10.0 Pt))-              , Reg (Literal (Numeric 10.0 Pt))-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 20 , column 2 )-    (FuncCall-       (Ident (Identifier "polygon"))-       [ NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 100.0 Percent))-              , Reg (Literal (Numeric 5.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 50.0 Percent))-              , Reg (Literal (Numeric 10.0 Pt))-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 23 , column 2 )-    (FuncCall-       (Ident (Identifier "polygon"))-       [ NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 5.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 5.0 Pt))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 10.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 5.0 Pt))-              , Reg (Literal (Numeric 15.0 Pt))-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/polygon-00.typ"-    ( line 26 , column 2 )-    (FuncCall-       (Ident (Identifier "polygon"))-       [ NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 10.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 30.0 Pt))-              , Reg (Literal (Numeric 20.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 0.0 Pt))-              , Reg (Literal (Numeric 30.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 20.0 Pt))-              , Reg (Literal (Numeric 0.0 Pt))-              ])-       , NormalArg-           (Array-              [ Reg (Literal (Numeric 20.0 Pt))-              , Reg (Literal (Numeric 35.0 Pt))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 polygon(fill: rgb(0%,45%,85%,100%), -                         stroke: 0.75pt, -                         vertices: ()), -                 text(body: [-]), -                 polygon(fill: rgb(0%,45%,85%,100%), -                         stroke: 0.75pt, -                         vertices: ((0.0em, 0.0pt))), -                 text(body: [-]), -                 polygon(fill: rgb(0%,45%,85%,100%), -                         stroke: 0.75pt, -                         vertices: ((0.0pt, 0.0pt), -                                    (10.0pt, 0.0pt))), -                 parbreak(), -                 polygon(fill: rgb(0%,45%,85%,100%), -                         stroke: 0.75pt, -                         vertices: ((5.0pt, 0.0pt), -                                    (0.0pt, 10.0pt), -                                    (10.0pt, 10.0pt))), -                 text(body: [-]), -                 polygon(fill: rgb(0%,45%,85%,100%), -                         stroke: 0.75pt, -                         vertices: ((0.0pt, 0.0pt), -                                    (5.0pt, 5.0pt), -                                    (10.0pt, 0.0pt), -                                    (15.0pt, 5.0pt), -                                    (5.0pt, 10.0pt))), -                 text(body: [-]), -                 polygon(fill: rgb(0%,45%,85%,100%), -                         stroke: none, -                         vertices: ((5.0pt, 0.0pt), -                                    (0.0pt, 10.0pt), -                                    (10.0pt, 10.0pt))), -                 text(body: [-]), -                 polygon(fill: none, -                         stroke: 3.0pt, -                         vertices: ((5.0pt, 0.0pt), -                                    (0.0pt, 10.0pt), -                                    (10.0pt, 10.0pt))), -                 parbreak(), -                 polygon(fill: rgb(0%,45%,85%,100%), -                         stroke: 0.75pt, -                         vertices: ((0.0pt, 0.0pt), -                                    (100%, 5.0pt), -                                    (50%, 10.0pt))), -                 parbreak(), -                 polygon(fill: rgb(0%,45%,85%,100%), -                         stroke: 0.75pt, -                         vertices: ((0.0pt, 5.0pt), -                                    (5.0pt, 0.0pt), -                                    (0.0pt, 10.0pt), -                                    (5.0pt, 15.0pt))), -                 parbreak(), -                 polygon(fill: rgb(0%,45%,85%,100%), -                         stroke: 0.75pt, -                         vertices: ((0.0pt, 10.0pt), -                                    (30.0pt, 20.0pt), -                                    (0.0pt, 30.0pt), -                                    (20.0pt, 0.0pt), -                                    (20.0pt, 35.0pt))), -                 parbreak() })
− test/out/visualize/polygon-01.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/shape-aspect-00.out
@@ -1,130 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-aspect-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-aspect-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-aspect-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Comment-, Code-    "test/typ/visualize/shape-aspect-00.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 120.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 70.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-aspect-00.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg (Ident (Identifier "bottom")) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-aspect-00.typ"-    ( line 6 , column 2 )-    (Let-       (BasicBind (Just (Identifier "centered")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "align")))-          [ NormalArg-              (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-          ]))-, SoftBreak-, Code-    "test/typ/visualize/shape-aspect-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "square"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "centered")) [ BlockArg [ Text "A" ] ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "square"))-              [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "stack"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "square"))-                     [ KeyValArg (Identifier "size") (Literal (Numeric 10.0 Pt)) ])-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "square"))-                     [ KeyValArg (Identifier "size") (Literal (Numeric 20.0 Pt))-                     , NormalArg-                         (FuncCall-                            (Ident (Identifier "centered")) [ BlockArg [ Text "B" ] ])-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 text(body: [-]), -                 stack(children: (square(body: align(alignment: bottom, -                                                     body: text(body: [A])), -                                         width: 50%), -                                  square(height: 50%), -                                  stack(children: (square(size: 10.0pt), -                                                   square(body: align(alignment: bottom, -                                                                      body: text(body: [B])), -                                                          size: 20.0pt)))), -                       dir: ltr, -                       spacing: 1.0fr), -                 parbreak() })
− test/out/visualize/shape-aspect-01.out
@@ -1,122 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-aspect-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-aspect-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-aspect-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-aspect-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ NormalArg (Literal (Numeric 8.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-aspect-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "square"))-              [ KeyValArg (Identifier "inset") (Literal (Numeric 4.0 Pt))-              , BlockArg-                  [ SoftBreak-                  , Text "Hey"-                  , Space-                  , Text "there,"-                  , Space-                  , Code-                      "test/typ/visualize/shape-aspect-01.typ"-                      ( line 5 , column 15 )-                      (FuncCall-                         (Ident (Identifier "align"))-                         [ NormalArg-                             (Plus (Ident (Identifier "center")) (Ident (Identifier "bottom")))-                         , NormalArg-                             (FuncCall-                                (Ident (Identifier "rotate"))-                                [ NormalArg (Literal (Numeric 180.0 Deg))-                                , NormalArg (Block (Content [ Text "you!" ]))-                                ])-                         ])-                  , ParBreak-                  ]-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-aspect-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "circle"))-              [ NormalArg-                  (FuncCall-                     (Ident (Identifier "align"))-                     [ NormalArg-                         (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-                     , NormalArg (Block (Content [ Text "Hey" , Text "." ]))-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], size: 8.0pt), -                 box(body: square(body: { text(body: [-Hey there, ], -                                               size: 8.0pt), -                                          align(alignment: Axes(center, bottom), -                                                body: rotate(angle: 180.0deg, -                                                             body: text(body: [you!], -                                                                        size: 8.0pt))), -                                          parbreak() }, -                                  inset: 4.0pt)), -                 text(body: [-], size: 8.0pt), -                 box(body: circle(body: align(alignment: Axes(center, horizon), -                                              body: text(body: [Hey.], -                                                         size: 8.0pt)))), -                 parbreak() })
− test/out/visualize/shape-aspect-02.out
@@ -1,74 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-aspect-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-aspect-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-aspect-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-aspect-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , KeyValArg (Identifier "spacing") (Literal (Numeric 2.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "square"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))-              , KeyValArg (Identifier "height") (Literal (Numeric 40.0 Pt))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "circle"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 stack(children: (square(height: 40.0pt, -                                         width: 20.0pt), -                                  circle(height: 100.0pt, -                                         width: 20%)), -                       dir: ltr, -                       spacing: 2.0pt), -                 parbreak() })
− test/out/visualize/shape-aspect-03.out
@@ -1,78 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-aspect-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-aspect-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-aspect-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-aspect-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-aspect-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "square"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "red")) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "square"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "green")) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 stack(children: (square(fill: rgb(100%,25%,21%,100%)), -                                  square(fill: rgb(18%,80%,25%,100%))), -                       dir: ltr), -                 parbreak() })
− test/out/visualize/shape-aspect-04.out
@@ -1,86 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-aspect-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-aspect-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-aspect-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-aspect-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 120.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 40.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-aspect-04.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , KeyValArg (Identifier "spacing") (Literal (Numeric 2.0 Pt))-       , NormalArg-           (FuncCall-              (Ident (Identifier "circle"))-              [ KeyValArg (Identifier "radius") (Literal (Numeric 5.0 Pt)) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "circle"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Percent))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "circle"))-              [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 stack(children: (circle(radius: 5.0pt), -                                  circle(width: 10%), -                                  circle(height: 50%)), -                       dir: ltr, -                       spacing: 2.0pt), -                 parbreak() })
− test/out/visualize/shape-aspect-05.out
@@ -1,81 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-aspect-05.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-aspect-05.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-aspect-05.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-aspect-05.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 25.0 Pt))-       , KeyValArg (Identifier "margin") (Literal (Numeric 5.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-aspect-05.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-aspect-05.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , BlockArg [ Text "Hello" , Space , Text "there" ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 square(width: 100%), -                 text(body: [-]), -                 square(body: text(body: [Hello there]), -                        width: 100%), -                 parbreak() })
− test/out/visualize/shape-aspect-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/shape-circle-00.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-circle-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-circle-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-circle-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-circle-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg (FuncCall (Ident (Identifier "circle")) []) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-circle-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "circle")) [ BlockArg [ Text "Hey" ] ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 box(body: circle()), -                 text(body: [-]), -                 box(body: circle(body: text(body: [Hey]))), -                 parbreak() })
− test/out/visualize/shape-circle-01.out
@@ -1,249 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-circle-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-circle-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-circle-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-circle-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "circle"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt)) ])-, ParBreak-, Text "Auto"-, Text "-"-, Text "sized"-, Space-, Text "circle"-, Text "."-, SoftBreak-, Code-    "test/typ/visualize/shape-circle-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "circle"))-       [ KeyValArg-           (Identifier "fill")-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (String "eb5278")) ])-       , KeyValArg-           (Identifier "stroke")-           (Plus (Literal (Numeric 2.0 Pt)) (Ident (Identifier "black")))-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg-                  (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-              , BlockArg [ Text "But," , Space , Text "soft!" ]-              ])-       ])-, ParBreak-, Text "Center"-, Text "-"-, Text "aligned"-, Space-, Text "rect"-, Space-, Text "in"-, Space-, Text "auto"-, Text "-"-, Text "sized"-, Space-, Text "circle"-, Text "."-, SoftBreak-, Code-    "test/typ/visualize/shape-circle-01.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "circle"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , KeyValArg (Identifier "stroke") (Ident (Identifier "green"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg-                  (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-                     , KeyValArg (Identifier "inset") (Literal (Numeric 5.0 Pt))-                     , BlockArg [ Text "But," , Space , Text "soft!" ]-                     ])-              ])-       ])-, ParBreak-, Text "Rect"-, Space-, Text "in"-, Space-, Text "auto"-, Text "-"-, Text "sized"-, Space-, Text "circle"-, Text "."-, SoftBreak-, Code-    "test/typ/visualize/shape-circle-01.typ"-    ( line 18 , column 2 )-    (FuncCall-       (Ident (Identifier "circle"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-              , KeyValArg (Identifier "stroke") (Ident (Identifier "white"))-              , KeyValArg (Identifier "inset") (Literal (Numeric 4.0 Pt))-              , BlockArg-                  [ SoftBreak-                  , Code-                      "test/typ/visualize/shape-circle-01.typ"-                      ( line 20 , column 6 )-                      (Set-                         (Ident (Identifier "text"))-                         [ NormalArg (Literal (Numeric 8.0 Pt)) ])-                  , SoftBreak-                  , Text "But,"-                  , Space-                  , Text "soft!"-                  , Space-                  , Text "what"-                  , Space-                  , Text "light"-                  , Space-                  , Text "through"-                  , Space-                  , Text "yonder"-                  , Space-                  , Text "window"-                  , Space-                  , Text "breaks?"-                  , ParBreak-                  ]-              ])-       ])-, ParBreak-, Text "Expanded"-, Space-, Text "by"-, Space-, Text "height"-, Text "."-, SoftBreak-, Code-    "test/typ/visualize/shape-circle-01.typ"-    ( line 26 , column 2 )-    (FuncCall-       (Ident (Identifier "circle"))-       [ KeyValArg (Identifier "stroke") (Ident (Identifier "black"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg (Ident (Identifier "center"))-              , BlockArg-                  [ Text "A"-                  , Space-                  , HardBreak-                  , Text "B"-                  , Space-                  , HardBreak-                  , Text "C"-                  ]-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [Auto-sized circle.-]), -                 circle(body: align(alignment: Axes(center, horizon), -                                    body: text(body: [But, soft!])), -                        fill: rgb(92%,32%,47%,100%), -                        inset: 0.0pt, -                        stroke: (thickness: 2.0pt,-                                 color: rgb(0%,0%,0%,100%))), -                 parbreak(), -                 text(body: [Center-aligned rect in auto-sized circle.-]), -                 circle(body: align(alignment: Axes(center, horizon), -                                    body: rect(body: text(body: [But, soft!]), -                                               fill: rgb(18%,80%,25%,100%), -                                               inset: 5.0pt)), -                        fill: rgb(100%,25%,21%,100%), -                        inset: 0.0pt, -                        stroke: rgb(18%,80%,25%,100%)), -                 parbreak(), -                 text(body: [Rect in auto-sized circle.-]), -                 circle(body: rect(body: { text(body: [-]), -                                           text(body: [-But, soft! what light through yonder window breaks?], -                                                size: 8.0pt), -                                           parbreak() }, -                                   fill: rgb(18%,80%,25%,100%), -                                   inset: 4.0pt, -                                   stroke: rgb(100%,100%,100%,100%)), -                        fill: rgb(100%,25%,21%,100%), -                        inset: 0.0pt), -                 parbreak(), -                 text(body: [Expanded by height.-], -                      size: 8.0pt), -                 circle(body: align(alignment: center, -                                    body: { text(body: [A ], -                                                 size: 8.0pt), -                                            linebreak(), -                                            text(body: [B ], -                                                 size: 8.0pt), -                                            linebreak(), -                                            text(body: [C], -                                                 size: 8.0pt) }), -                        inset: 0.0pt, -                        stroke: rgb(0%,0%,0%,100%)), -                 parbreak() })
− test/out/visualize/shape-circle-02.out
@@ -1,65 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-circle-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-circle-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-circle-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-circle-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 30.0 Pt))-       , KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , NormalArg-           (FuncCall-              (Ident (Identifier "circle"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "green")) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 rect(body: circle(fill: rgb(18%,80%,25%,100%)), -                      fill: rgb(100%,25%,21%,100%), -                      height: 30.0pt, -                      width: 40.0pt), -                 parbreak() })
− test/out/visualize/shape-circle-03.out
@@ -1,143 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-circle-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-circle-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-circle-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-circle-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "white")) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-circle-03.typ"-    ( line 4 , column 2 )-    (Show-       Nothing-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "rect")))-          [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Pt))-          , KeyValArg (Identifier "height") (Literal (Numeric 50.0 Pt))-          , KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))-          , KeyValArg-              (Identifier "fill")-              (FuncCall-                 (Ident (Identifier "rgb")) [ NormalArg (Literal (String "aaa")) ])-          ]))-, SoftBreak-, Code-    "test/typ/visualize/shape-circle-03.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "align"))-       [ NormalArg-           (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-circle-03.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))-       , NormalArg (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "circle"))-              [ KeyValArg (Identifier "radius") (Literal (Numeric 10.0 Pt))-              , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-              , NormalArg (Block (Content [ Text "A" ]))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "circle"))-              [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Percent))-              , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-              , NormalArg (Block (Content [ Text "B" ]))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "circle"))-              [ KeyValArg-                  (Identifier "width")-                  (Plus (Literal (Numeric 20.0 Percent)) (Literal (Numeric 20.0 Pt)))-              , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-              , NormalArg (Block (Content [ Text "C" ]))-              ])-       , NormalArg (Literal (Numeric 1.0 Fr))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-], -                      fill: rgb(100%,100%,100%,100%)), -                 rect(body: { text(body: [-], -                                   fill: rgb(100%,100%,100%,100%)), -                              text(body: [-], -                                   fill: rgb(100%,100%,100%,100%)), -                              stack(children: (1.0fr, -                                               circle(body: text(body: [A], -                                                                 fill: rgb(100%,100%,100%,100%)), -                                                      fill: rgb(13%,61%,67%,100%), -                                                      radius: 10.0pt), -                                               circle(body: text(body: [B], -                                                                 fill: rgb(100%,100%,100%,100%)), -                                                      fill: rgb(13%,61%,67%,100%), -                                                      height: 60%), -                                               circle(body: text(body: [C], -                                                                 fill: rgb(100%,100%,100%,100%)), -                                                      fill: rgb(13%,61%,67%,100%), -                                                      width: 20.0pt + 20%), -                                               1.0fr), -                                    dir: ltr, -                                    spacing: 1.0fr), -                              parbreak() }, -                      fill: rgb(3%,3%,3%,100%), -                      height: 50.0pt, -                      inset: 0.0pt, -                      width: 100.0pt) })
− test/out/visualize/shape-circle-04.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/shape-ellipse-00.out
@@ -1,53 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-ellipse-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-ellipse-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-ellipse-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-ellipse-00.typ"-    ( line 3 , column 2 )-    (FuncCall (Ident (Identifier "ellipse")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 ellipse(), -                 parbreak() })
− test/out/visualize/shape-ellipse-01.out
@@ -1,235 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-ellipse-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-ellipse-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-ellipse-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/visualize/shape-ellipse-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-ellipse-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "ellipse"))-       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt)) ])-, ParBreak-, Text "Rect"-, Space-, Text "in"-, Space-, Text "ellipse"-, Space-, Text "in"-, Space-, Text "fixed"-, Space-, Text "rect"-, Text "."-, SoftBreak-, Code-    "test/typ/visualize/shape-ellipse-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 3.0 Cm))-       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))-       , KeyValArg-           (Identifier "fill")-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (String "2a631a")) ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "ellipse"))-              [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-              , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Percent))-              , NormalArg-                  (FuncCall-                     (Ident (Identifier "rect"))-                     [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-                     , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-                     , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Percent))-                     , NormalArg-                         (FuncCall-                            (Ident (Identifier "align"))-                            [ NormalArg-                                (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-                            , BlockArg-                                [ SoftBreak-                                , Text "Stuff"-                                , Space-                                , Text "inside"-                                , Space-                                , Text "an"-                                , Space-                                , Text "ellipse!"-                                , ParBreak-                                ]-                            ])-                     ])-              ])-       ])-, ParBreak-, Text "Auto"-, Text "-"-, Text "sized"-, Space-, Text "ellipse"-, Text "."-, SoftBreak-, Code-    "test/typ/visualize/shape-ellipse-01.typ"-    ( line 17 , column 2 )-    (FuncCall-       (Ident (Identifier "ellipse"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       , KeyValArg-           (Identifier "stroke")-           (Plus (Literal (Numeric 3.0 Pt)) (Ident (Identifier "red")))-       , KeyValArg (Identifier "inset") (Literal (Numeric 3.0 Pt))-       , BlockArg-           [ SoftBreak-           , Code-               "test/typ/visualize/shape-ellipse-01.typ"-               ( line 18 , column 4 )-               (Set-                  (Ident (Identifier "text"))-                  [ NormalArg (Literal (Numeric 8.0 Pt)) ])-           , SoftBreak-           , Text "But,"-           , Space-           , Text "soft!"-           , Space-           , Text "what"-           , Space-           , Text "light"-           , Space-           , Text "through"-           , Space-           , Text "yonder"-           , Space-           , Text "window"-           , Space-           , Text "breaks?"-           , ParBreak-           ]-       ])-, ParBreak-, Text "An"-, Space-, Text "inline"-, SoftBreak-, Code-    "test/typ/visualize/shape-ellipse-01.typ"-    ( line 24 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "ellipse"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 8.0 Pt))-              , KeyValArg (Identifier "height") (Literal (Numeric 6.0 Pt))-              , KeyValArg-                  (Identifier "outset")-                  (Dict-                     [ Reg ( Ident (Identifier "top") , Literal (Numeric 3.0 Pt) )-                     , Reg ( Ident (Identifier "rest") , Literal (Numeric 5.5 Pt) )-                     ])-              ])-       ])-, SoftBreak-, Text "ellipse"-, Text "."-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 text(body: [Rect in ellipse in fixed rect.-]), -                 rect(body: ellipse(body: rect(body: align(alignment: Axes(center, horizon), -                                                           body: { text(body: [-Stuff inside an ellipse!]), -                                                                   parbreak() }), -                                               fill: rgb(18%,80%,25%,100%), -                                               height: 100%, -                                               inset: 0.0pt, -                                               width: 100%), -                                    fill: rgb(100%,25%,21%,100%), -                                    height: 100%, -                                    inset: 0.0pt, -                                    width: 100%), -                      fill: rgb(16%,38%,10%,100%), -                      height: 2.0cm, -                      inset: 0.0pt, -                      width: 3.0cm), -                 parbreak(), -                 text(body: [Auto-sized ellipse.-]), -                 ellipse(body: { text(body: [-]), -                                 text(body: [-But, soft! what light through yonder window breaks?], -                                      size: 8.0pt), -                                 parbreak() }, -                         fill: rgb(18%,80%,25%,100%), -                         inset: 3.0pt, -                         stroke: (thickness: 3.0pt,-                                  color: rgb(100%,25%,21%,100%))), -                 parbreak(), -                 text(body: [An inline-], -                      size: 8.0pt), -                 box(body: ellipse(height: 6.0pt, -                                   inset: 0.0pt, -                                   outset: (top: 3.0pt,-                                            rest: 5.5pt), -                                   width: 8.0pt)), -                 text(body: [-ellipse.], -                      size: 8.0pt), -                 parbreak() })
− test/out/visualize/shape-fill-stroke-00.out
@@ -1,276 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-fill-stroke-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-fill-stroke-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-fill-stroke-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-00.typ"-    ( line 2 , column 2 )-    (Let-       (BasicBind (Just (Identifier "variant")))-       (FuncCall-          (FieldAccess-             (Ident (Identifier "with")) (Ident (Identifier "rect")))-          [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))-          , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-          ]))-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-00.typ"-    ( line 3 , column 2 )-    (Let-       (BasicBind (Just (Identifier "items")))-       (For-          (DestructuringBind-             [ Simple (Just (Identifier "i"))-             , Simple (Just (Identifier "item"))-             ])-          (FuncCall-             (FieldAccess-                (Ident (Identifier "enumerate"))-                (Array-                   [ Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg (Identifier "stroke") (Literal None) ])-                   , Reg (FuncCall (Ident (Identifier "variant")) [])-                   , Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg (Identifier "fill") (Literal None) ])-                   , Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg (Identifier "stroke") (Literal (Numeric 2.0 Pt)) ])-                   , Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg (Identifier "stroke") (Ident (Identifier "eastern")) ])-                   , Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg-                              (Identifier "stroke")-                              (Plus (Ident (Identifier "eastern")) (Literal (Numeric 2.0 Pt)))-                          ])-                   , Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern")) ])-                   , Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-                          , KeyValArg (Identifier "stroke") (Literal None)-                          ])-                   , Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-                          , KeyValArg (Identifier "stroke") (Literal None)-                          ])-                   , Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-                          , KeyValArg (Identifier "stroke") (Ident (Identifier "green"))-                          ])-                   , Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-                          , KeyValArg-                              (Identifier "stroke")-                              (Plus (Ident (Identifier "black")) (Literal (Numeric 2.0 Pt)))-                          ])-                   , Reg-                       (FuncCall-                          (Ident (Identifier "variant"))-                          [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-                          , KeyValArg-                              (Identifier "stroke")-                              (Plus (Ident (Identifier "green")) (Literal (Numeric 2.0 Pt)))-                          ])-                   ]))-             [])-          (Block-             (CodeBlock-                [ Array-                    [ Reg-                        (FuncCall-                           (Ident (Identifier "align"))-                           [ NormalArg (Ident (Identifier "horizon"))-                           , BlockArg-                               [ Code-                                   "test/typ/visualize/shape-fill-stroke-00.typ"-                                   ( line 17 , column 20 )-                                   (Plus (Ident (Identifier "i")) (Literal (Int 1)))-                               , Text "."-                               ]-                           ])-                    , Reg (Ident (Identifier "item"))-                    , Reg (Block (Content []))-                    ]-                ]))))-, ParBreak-, Code-    "test/typ/visualize/shape-fill-stroke-00.typ"-    ( line 20 , column 2 )-    (FuncCall-       (Ident (Identifier "grid"))-       [ KeyValArg-           (Identifier "columns")-           (Array-              [ Reg (Literal Auto)-              , Reg (Literal Auto)-              , Reg (Literal (Numeric 1.0 Fr))-              , Reg (Literal Auto)-              , Reg (Literal Auto)-              , Reg (Literal (Numeric 0.0 Fr))-              ])-       , KeyValArg (Identifier "gutter") (Literal (Numeric 5.0 Pt))-       , SpreadArg (Ident (Identifier "items"))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 parbreak(), -                 grid(children: (align(alignment: horizon, -                                       body: { text(body: [1]), -                                               text(body: [.]) }), -                                 rect(height: 10.0pt, -                                      stroke: none, -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [2]), -                                               text(body: [.]) }), -                                 rect(height: 10.0pt, -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [3]), -                                               text(body: [.]) }), -                                 rect(fill: none, -                                      height: 10.0pt, -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [4]), -                                               text(body: [.]) }), -                                 rect(height: 10.0pt, -                                      stroke: 2.0pt, -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [5]), -                                               text(body: [.]) }), -                                 rect(height: 10.0pt, -                                      stroke: rgb(13%,61%,67%,100%), -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [6]), -                                               text(body: [.]) }), -                                 rect(height: 10.0pt, -                                      stroke: (thickness: 2.0pt,-                                               color: rgb(13%,61%,67%,100%)), -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [7]), -                                               text(body: [.]) }), -                                 rect(fill: rgb(13%,61%,67%,100%), -                                      height: 10.0pt, -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [8]), -                                               text(body: [.]) }), -                                 rect(fill: rgb(13%,61%,67%,100%), -                                      height: 10.0pt, -                                      stroke: none, -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [9]), -                                               text(body: [.]) }), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      height: 10.0pt, -                                      stroke: none, -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [10]), -                                               text(body: [.]) }), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      height: 10.0pt, -                                      stroke: rgb(18%,80%,25%,100%), -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [11]), -                                               text(body: [.]) }), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      height: 10.0pt, -                                      stroke: (thickness: 2.0pt,-                                               color: rgb(0%,0%,0%,100%)), -                                      width: 20.0pt), -                                 {  }, -                                 align(alignment: horizon, -                                       body: { text(body: [12]), -                                               text(body: [.]) }), -                                 rect(fill: rgb(100%,25%,21%,100%), -                                      height: 10.0pt, -                                      stroke: (thickness: 2.0pt,-                                               color: rgb(18%,80%,25%,100%)), -                                      width: 20.0pt), -                                 {  }), -                      columns: (auto, -                                auto, -                                1.0fr, -                                auto, -                                auto, -                                0.0fr), -                      gutter: 5.0pt), -                 parbreak() })
− test/out/visualize/shape-fill-stroke-01.out
@@ -1,163 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-fill-stroke-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-fill-stroke-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 3 , column 2 )-    (LetFunc-       (Identifier "sq")-       [ SinkParam (Just (Identifier "args")) ]-       (FuncCall-          (Ident (Identifier "box"))-          [ NormalArg-              (FuncCall-                 (Ident (Identifier "square"))-                 [ KeyValArg (Identifier "size") (Literal (Numeric 10.0 Pt))-                 , SpreadArg (Ident (Identifier "args"))-                 ])-          ]))-, ParBreak-, Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 5 , column 2 )-    (Set-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "stroke") (Literal None) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 6 , column 2 )-    (FuncCall (Ident (Identifier "sq")) [])-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 7 , column 2 )-    (Set-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "stroke") (Literal Auto) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 8 , column 2 )-    (FuncCall (Ident (Identifier "sq")) [])-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "sq"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "teal")) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "sq"))-       [ KeyValArg (Identifier "stroke") (Literal (Numeric 2.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "sq"))-       [ KeyValArg (Identifier "stroke") (Ident (Identifier "blue")) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "sq"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "teal"))-       , KeyValArg (Identifier "stroke") (Ident (Identifier "blue"))-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-01.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "sq"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "teal"))-       , KeyValArg-           (Identifier "stroke")-           (Plus (Literal (Numeric 2.0 Pt)) (Ident (Identifier "blue")))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 text(body: [-]), -                 box(body: square(size: 10.0pt, -                                  stroke: none)), -                 text(body: [-]), -                 text(body: [-]), -                 box(body: square(size: 10.0pt, -                                  stroke: auto)), -                 text(body: [-]), -                 box(body: square(fill: rgb(22%,80%,80%,100%), -                                  size: 10.0pt, -                                  stroke: auto)), -                 text(body: [-]), -                 box(body: square(size: 10.0pt, -                                  stroke: 2.0pt)), -                 text(body: [-]), -                 box(body: square(size: 10.0pt, -                                  stroke: rgb(0%,45%,85%,100%))), -                 text(body: [-]), -                 box(body: square(fill: rgb(22%,80%,80%,100%), -                                  size: 10.0pt, -                                  stroke: rgb(0%,45%,85%,100%))), -                 text(body: [-]), -                 box(body: square(fill: rgb(22%,80%,80%,100%), -                                  size: 10.0pt, -                                  stroke: (thickness: 2.0pt,-                                           color: rgb(0%,45%,85%,100%)))), -                 parbreak() })
− test/out/visualize/shape-fill-stroke-02.out
@@ -1,99 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-fill-stroke-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-fill-stroke-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-fill-stroke-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-fill-stroke-02.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "stroke") (Literal (Numeric 4.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-02.typ"-    ( line 4 , column 2 )-    (Set-       (Ident (Identifier "text"))-       [ KeyValArg (Identifier "font") (Literal (String "Roboto")) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-fill-stroke-02.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "square"))-       [ KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "left") , Ident (Identifier "red") )-              , Reg ( Ident (Identifier "top") , Ident (Identifier "yellow") )-              , Reg ( Ident (Identifier "right") , Ident (Identifier "green") )-              , Reg ( Ident (Identifier "bottom") , Ident (Identifier "blue") )-              ])-       , KeyValArg (Identifier "radius") (Literal (Numeric 100.0 Percent))-       , NormalArg-           (FuncCall-              (Ident (Identifier "align"))-              [ NormalArg-                  (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))-              , BlockArg [ Strong [ Text "G" ] ]-              ])-       , KeyValArg (Identifier "inset") (Literal (Numeric 8.0 Pt))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 text(body: [-], -                      font: "Roboto"), -                 square(body: align(alignment: Axes(center, horizon), -                                    body: strong(body: text(body: [G], -                                                            font: "Roboto"))), -                        inset: 8.0pt, -                        radius: 100%, -                        stroke: (left: rgb(100%,25%,21%,100%),-                                 top: rgb(100%,86%,0%,100%),-                                 right: rgb(18%,80%,25%,100%),-                                 bottom: rgb(0%,45%,85%,100%))), -                 parbreak() })
− test/out/visualize/shape-rect-00.out
@@ -1,53 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-rect-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-rect-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-rect-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-rect-00.typ"-    ( line 3 , column 2 )-    (FuncCall (Ident (Identifier "rect")) [])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 rect(), -                 parbreak() })
− test/out/visualize/shape-rect-01.out
@@ -1,298 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-rect-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-rect-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 150.0 Pt)) ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       , BlockArg [ Text "Textbox" ]-       ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "block"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "height") (Literal (Numeric 15.0 Pt))-              , KeyValArg-                  (Identifier "fill")-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "46b3c2")) ])-              , KeyValArg-                  (Identifier "stroke")-                  (Plus-                     (Literal (Numeric 2.0 Pt))-                     (FuncCall-                        (Ident (Identifier "rgb"))-                        [ NormalArg (Literal (String "234994")) ]))-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Cm))-       , KeyValArg-           (Identifier "fill")-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (String "9650d6")) ])-       , BlockArg-           [ Text "Fixed" , Space , Text "and" , Space , Text "padded" ]-       ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 18 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "height") (Literal (Numeric 1.0 Cm))-       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , KeyValArg-           (Identifier "fill")-           (FuncCall-              (Ident (Identifier "rgb"))-              [ NormalArg (Literal (String "734ced")) ])-       , BlockArg [ Text "Topleft" ]-       ])-, ParBreak-, Comment-, Text "{"-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 21 , column 3 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 0.5 In))-              , KeyValArg (Identifier "height") (Literal (Numeric 7.0 Pt))-              , KeyValArg-                  (Identifier "fill")-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "d6cd67")) ])-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 22 , column 3 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 0.5 In))-              , KeyValArg (Identifier "height") (Literal (Numeric 7.0 Pt))-              , KeyValArg-                  (Identifier "fill")-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "edd466")) ])-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 23 , column 3 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 0.5 In))-              , KeyValArg (Identifier "height") (Literal (Numeric 7.0 Pt))-              , KeyValArg-                  (Identifier "fill")-                  (FuncCall-                     (Ident (Identifier "rgb"))-                     [ NormalArg (Literal (String "e3be62")) ])-              ])-       ])-, Text "}"-, ParBreak-, Comment-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 26 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Cm))-              , KeyValArg (Identifier "radius") (Literal (Numeric 60.0 Percent))-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))-              , KeyValArg-                  (Identifier "radius")-                  (Dict-                     [ Reg ( Ident (Identifier "left") , Literal (Numeric 10.0 Pt) )-                     , Reg ( Ident (Identifier "right") , Literal (Numeric 5.0 Pt) )-                     ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "rect"))-              [ KeyValArg (Identifier "width") (Literal (Numeric 1.25 Cm))-              , KeyValArg-                  (Identifier "radius")-                  (Dict-                     [ Reg ( Ident (Identifier "top-left") , Literal (Numeric 2.0 Pt) )-                     , Reg ( Ident (Identifier "top-right") , Literal (Numeric 5.0 Pt) )-                     , Reg-                         ( Ident (Identifier "bottom-right") , Literal (Numeric 8.0 Pt) )-                     , Reg-                         ( Ident (Identifier "bottom-left") , Literal (Numeric 11.0 Pt) )-                     ])-              ])-       ])-, ParBreak-, Comment-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 40 , column 2 )-    (Set-       (Ident (Identifier "rect"))-       [ KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "right") , Ident (Identifier "red") ) ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-rect-01.typ"-    ( line 41 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))-       , KeyValArg (Identifier "fill") (Ident (Identifier "lime"))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "x") , Literal (Numeric 5.0 Pt) )-              , Reg ( Ident (Identifier "y") , Literal (Numeric 1.0 Pt) )-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 rect(body: text(body: [Textbox]), -                      fill: rgb(18%,80%,25%,100%)), -                 parbreak(), -                 block(body: rect(fill: rgb(27%,70%,76%,100%), -                                  height: 15.0pt, -                                  stroke: (thickness: 2.0pt,-                                           color: rgb(13%,28%,58%,100%)))), -                 parbreak(), -                 rect(body: text(body: [Fixed and padded]), -                      fill: rgb(58%,31%,83%,100%), -                      width: 2.0cm), -                 parbreak(), -                 rect(body: text(body: [Topleft]), -                      fill: rgb(45%,29%,92%,100%), -                      height: 1.0cm, -                      width: 100%), -                 parbreak(), -                 text(body: [{]), -                 box(body: rect(fill: rgb(83%,80%,40%,100%), -                                height: 7.0pt, -                                width: 0.5in)), -                 text(body: [-]), -                 box(body: rect(fill: rgb(92%,83%,40%,100%), -                                height: 7.0pt, -                                width: 0.5in)), -                 text(body: [-]), -                 box(body: rect(fill: rgb(89%,74%,38%,100%), -                                height: 7.0pt, -                                width: 0.5in)), -                 text(body: [}]), -                 parbreak(), -                 stack(children: (rect(radius: 60%, -                                       width: 2.0cm), -                                  rect(radius: (left: 10.0pt,-                                                right: 5.0pt), -                                       width: 1.0cm), -                                  rect(radius: (top-left: 2.0pt,-                                                top-right: 5.0pt,-                                                bottom-right: 8.0pt,-                                                bottom-left: 11.0pt), -                                       width: 1.25cm)), -                       dir: ltr, -                       spacing: 1.0fr), -                 parbreak(), -                 text(body: [-]), -                 rect(fill: rgb(0%,100%,43%,100%), -                      stroke: (x: 5.0pt, y: 1.0pt), -                      width: 100%), -                 parbreak() })
− test/out/visualize/shape-rect-02.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/shape-rect-03.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/shape-rounded-00.out
@@ -1,67 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-rounded-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-rounded-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-rounded-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-rounded-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg-           (Identifier "radius") (Negated (Literal (Numeric 20.0 Pt)))-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-rounded-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "radius") (Literal (Numeric 30.0 Pt)) ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 rect(radius: -20.0pt), -                 text(body: [-]), -                 square(radius: 30.0pt), -                 parbreak() })
− test/out/visualize/shape-square-00.out
@@ -1,68 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-square-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-square-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-square-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-square-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg (FuncCall (Ident (Identifier "square")) []) ])-, SoftBreak-, Code-    "test/typ/visualize/shape-square-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "box"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "square")) [ BlockArg [ Text "hey!" ] ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 box(body: square()), -                 text(body: [-]), -                 box(body: square(body: text(body: [hey!]))), -                 parbreak() })
− test/out/visualize/shape-square-01.out
@@ -1,77 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-square-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-square-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-square-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-square-01.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-       , BlockArg-           [ SoftBreak-           , Code-               "test/typ/visualize/shape-square-01.typ"-               ( line 4 , column 4 )-               (Set-                  (Ident (Identifier "text"))-                  [ KeyValArg (Identifier "fill") (Ident (Identifier "white"))-                  , KeyValArg (Identifier "weight") (Literal (String "bold"))-                  ])-           , SoftBreak-           , Text "Typst"-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 square(body: { text(body: [-]), -                                text(body: [-Typst], -                                     fill: rgb(100%,100%,100%,100%), -                                     weight: "bold"), -                                parbreak() }, -                        fill: rgb(13%,61%,67%,100%)), -                 parbreak() })
− test/out/visualize/shape-square-02.out
@@ -1,90 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-square-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-square-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-square-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-square-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))-       , BlockArg-           [ SoftBreak-           , Code-               "test/typ/visualize/shape-square-02.typ"-               ( line 4 , column 4 )-               (FuncCall-                  (Ident (Identifier "rect"))-                  [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Pt))-                  , KeyValArg (Identifier "height") (Literal (Numeric 5.0 Pt))-                  , KeyValArg (Identifier "fill") (Ident (Identifier "green"))-                  ])-           , SoftBreak-           , Code-               "test/typ/visualize/shape-square-02.typ"-               ( line 5 , column 4 )-               (FuncCall-                  (Ident (Identifier "rect"))-                  [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Percent))-                  , KeyValArg (Identifier "height") (Literal (Numeric 5.0 Pt))-                  , KeyValArg (Identifier "stroke") (Ident (Identifier "green"))-                  ])-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 square(body: { text(body: [-]), -                                rect(fill: rgb(18%,80%,25%,100%), -                                     height: 5.0pt, -                                     width: 10.0pt), -                                text(body: [-]), -                                rect(height: 5.0pt, -                                     stroke: rgb(18%,80%,25%,100%), -                                     width: 40%), -                                parbreak() }, -                        fill: rgb(13%,61%,67%,100%)), -                 parbreak() })
− test/out/visualize/shape-square-03.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-square-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-square-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-square-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-square-03.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 75.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-square-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       , BlockArg-           [ SoftBreak-           , Text "But,"-           , Space-           , Text "soft!"-           , Space-           , Text "what"-           , Space-           , Text "light"-           , Space-           , Text "through"-           , Space-           , Text "yonder"-           , Space-           , Text "window"-           , Space-           , Text "breaks?"-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 square(body: { text(body: [-But, soft! what light through yonder window breaks?]), -                                parbreak() }, -                        fill: rgb(18%,80%,25%,100%)), -                 parbreak() })
− test/out/visualize/shape-square-04.out
@@ -1,89 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/shape-square-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/shape-square-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/shape-square-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/shape-square-04.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 75.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/shape-square-04.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "square"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))-       , BlockArg-           [ SoftBreak-           , Text "But,"-           , Space-           , Text "soft!"-           , Space-           , Text "what"-           , Space-           , Text "light"-           , Space-           , Text "through"-           , Space-           , Text "yonder"-           , Space-           , Text "window"-           , Space-           , Text "breaks?"-           , ParBreak-           ]-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 square(body: { text(body: [-But, soft! what light through yonder window breaks?]), -                                parbreak() }, -                        fill: rgb(18%,80%,25%,100%)), -                 parbreak() })
− test/out/visualize/shape-square-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/stroke-00.out
@@ -1,165 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/stroke-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/stroke-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/stroke-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/stroke-00.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg (Identifier "stroke") (Ident (Identifier "red"))-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-00.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg (Identifier "stroke") (Literal (Numeric 2.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-00.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-00.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Plus (Ident (Identifier "blue")) (Literal (Numeric 1.5 Pt)))-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-00.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-00.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )-              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )-              , Reg ( Ident (Identifier "dash") , Literal (String "dashed") )-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-00.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-00.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )-              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 4.0 Pt) )-              , Reg ( Ident (Identifier "cap") , Literal (String "round") )-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 line(length: 60.0pt, -                      stroke: rgb(100%,25%,21%,100%)), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: 2.0pt), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: (thickness: 1.5pt,-                               color: rgb(0%,45%,85%,100%))), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: (paint: rgb(100%,25%,21%,100%),-                               thickness: 1.0pt,-                               dash: "dashed")), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: (paint: rgb(100%,25%,21%,100%),-                               thickness: 4.0pt,-                               cap: "round")), -                 parbreak() })
− test/out/visualize/stroke-01.out
@@ -1,123 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/stroke-01.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/stroke-01.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/stroke-01.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/stroke-01.typ"-    ( line 3 , column 2 )-    (Set-       (Ident (Identifier "line"))-       [ KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )-              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )-              , Reg ( Ident (Identifier "cap") , Literal (String "butt") )-              , Reg-                  ( Ident (Identifier "dash") , Literal (String "dash-dotted") )-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-01.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-01.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-01.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg (Identifier "stroke") (Ident (Identifier "blue"))-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-01.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-01.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict [ Reg ( Ident (Identifier "dash") , Literal None ) ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: (paint: rgb(100%,25%,21%,100%),-                               thickness: 1.0pt,-                               cap: "butt",-                               dash: "dash-dotted")), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: rgb(0%,45%,85%,100%)), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: (dash: none)), -                 parbreak() })
− test/out/visualize/stroke-02.out
@@ -1,127 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/stroke-02.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/stroke-02.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/stroke-02.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/stroke-02.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))-       , KeyValArg (Identifier "stroke") (Ident (Identifier "red"))-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-02.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-02.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "rest") , Ident (Identifier "red") )-              , Reg-                  ( Ident (Identifier "top")-                  , Dict-                      [ Reg ( Ident (Identifier "paint") , Ident (Identifier "blue") )-                      , Reg ( Ident (Identifier "dash") , Literal (String "dashed") )-                      ]-                  )-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-02.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-02.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "thickness") , Literal (Numeric 5.0 Pt) )-              , Reg ( Ident (Identifier "join") , Literal (String "round") )-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 rect(height: 20.0pt, -                      stroke: rgb(100%,25%,21%,100%), -                      width: 20.0pt), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 rect(height: 20.0pt, -                      stroke: (rest: rgb(100%,25%,21%,100%),-                               top: (paint: rgb(0%,45%,85%,100%),-                                     dash: "dashed")), -                      width: 20.0pt), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 rect(height: 20.0pt, -                      stroke: (thickness: 5.0pt,-                               join: "round"), -                      width: 20.0pt), -                 parbreak() })
− test/out/visualize/stroke-03.out
@@ -1,228 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/stroke-03.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/stroke-03.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/stroke-03.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/stroke-03.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )-              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )-              , Reg-                  ( Ident (Identifier "dash")-                  , Array-                      [ Reg (Literal (String "dot")) , Reg (Literal (Numeric 1.0 Pt)) ]-                  )-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-03.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-03.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )-              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )-              , Reg-                  ( Ident (Identifier "dash")-                  , Array-                      [ Reg (Literal (String "dot"))-                      , Reg (Literal (Numeric 1.0 Pt))-                      , Reg (Literal (Numeric 4.0 Pt))-                      , Reg (Literal (Numeric 2.0 Pt))-                      ]-                  )-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-03.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-03.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )-              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )-              , Reg-                  ( Ident (Identifier "dash")-                  , Dict-                      [ Reg-                          ( Ident (Identifier "array")-                          , Array-                              [ Reg (Literal (String "dot"))-                              , Reg (Literal (Numeric 1.0 Pt))-                              , Reg (Literal (Numeric 4.0 Pt))-                              , Reg (Literal (Numeric 2.0 Pt))-                              ]-                          )-                      , Reg ( Ident (Identifier "phase") , Literal (Numeric 5.0 Pt) )-                      ]-                  )-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-03.typ"-    ( line 8 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-03.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )-              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )-              , Reg ( Ident (Identifier "dash") , Array [] )-              ])-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-03.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-03.typ"-    ( line 11 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )-              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )-              , Reg-                  ( Ident (Identifier "dash")-                  , Array-                      [ Reg (Literal (Numeric 1.0 Pt))-                      , Reg (Literal (Numeric 3.0 Pt))-                      , Reg (Literal (Numeric 9.0 Pt))-                      ]-                  )-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 line(length: 60.0pt, -                      stroke: (paint: rgb(100%,25%,21%,100%),-                               thickness: 1.0pt,-                               dash: ("dot", 1.0pt))), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: (paint: rgb(100%,25%,21%,100%),-                               thickness: 1.0pt,-                               dash: ("dot", -                                      1.0pt, -                                      4.0pt, -                                      2.0pt))), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: (paint: rgb(100%,25%,21%,100%),-                               thickness: 1.0pt,-                               dash: (array: ("dot", -                                              1.0pt, -                                              4.0pt, -                                              2.0pt),-                                      phase: 5.0pt))), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: (paint: rgb(100%,25%,21%,100%),-                               thickness: 1.0pt,-                               dash: ())), -                 text(body: [-]), -                 v(amount: 3.0pt), -                 text(body: [-]), -                 line(length: 60.0pt, -                      stroke: (paint: rgb(100%,25%,21%,100%),-                               thickness: 1.0pt,-                               dash: (1.0pt, -                                      3.0pt, -                                      9.0pt))), -                 parbreak() })
− test/out/visualize/stroke-04.out
@@ -1,228 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/stroke-04.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/stroke-04.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/stroke-04.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, Code-    "test/typ/visualize/stroke-04.typ"-    ( line 3 , column 2 )-    (FuncCall-       (Ident (Identifier "stack"))-       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))-       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Em))-       , NormalArg-           (FuncCall-              (Ident (Identifier "polygon"))-              [ KeyValArg-                  (Identifier "stroke")-                  (Dict-                     [ Reg ( Ident (Identifier "thickness") , Literal (Numeric 4.0 Pt) )-                     , Reg ( Ident (Identifier "paint") , Ident (Identifier "blue") )-                     , Reg ( Ident (Identifier "join") , Literal (String "round") )-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 20.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 15.0 Pt))-                     , Reg (Literal (Numeric 0.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 40.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 15.0 Pt))-                     , Reg (Literal (Numeric 45.0 Pt))-                     ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "polygon"))-              [ KeyValArg-                  (Identifier "stroke")-                  (Dict-                     [ Reg ( Ident (Identifier "thickness") , Literal (Numeric 4.0 Pt) )-                     , Reg ( Ident (Identifier "paint") , Ident (Identifier "blue") )-                     , Reg ( Ident (Identifier "join") , Literal (String "bevel") )-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 20.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 15.0 Pt))-                     , Reg (Literal (Numeric 0.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 40.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 15.0 Pt))-                     , Reg (Literal (Numeric 45.0 Pt))-                     ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "polygon"))-              [ KeyValArg-                  (Identifier "stroke")-                  (Dict-                     [ Reg ( Ident (Identifier "thickness") , Literal (Numeric 4.0 Pt) )-                     , Reg ( Ident (Identifier "paint") , Ident (Identifier "blue") )-                     , Reg ( Ident (Identifier "join") , Literal (String "miter") )-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 20.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 15.0 Pt))-                     , Reg (Literal (Numeric 0.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 40.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 15.0 Pt))-                     , Reg (Literal (Numeric 45.0 Pt))-                     ])-              ])-       , NormalArg-           (FuncCall-              (Ident (Identifier "polygon"))-              [ KeyValArg-                  (Identifier "stroke")-                  (Dict-                     [ Reg ( Ident (Identifier "thickness") , Literal (Numeric 4.0 Pt) )-                     , Reg ( Ident (Identifier "paint") , Ident (Identifier "blue") )-                     , Reg ( Ident (Identifier "join") , Literal (String "miter") )-                     , Reg ( Ident (Identifier "miter-limit") , Literal (Float 20.0) )-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 20.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 15.0 Pt))-                     , Reg (Literal (Numeric 0.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Pt))-                     , Reg (Literal (Numeric 40.0 Pt))-                     ])-              , NormalArg-                  (Array-                     [ Reg (Literal (Numeric 15.0 Pt))-                     , Reg (Literal (Numeric 45.0 Pt))-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 stack(children: (polygon(stroke: (thickness: 4.0pt,-                                                   paint: rgb(0%,45%,85%,100%),-                                                   join: "round"), -                                          vertices: ((0.0pt, -                                                      20.0pt), -                                                     (15.0pt, -                                                      0.0pt), -                                                     (0.0pt, -                                                      40.0pt), -                                                     (15.0pt, -                                                      45.0pt))), -                                  polygon(stroke: (thickness: 4.0pt,-                                                   paint: rgb(0%,45%,85%,100%),-                                                   join: "bevel"), -                                          vertices: ((0.0pt, -                                                      20.0pt), -                                                     (15.0pt, -                                                      0.0pt), -                                                     (0.0pt, -                                                      40.0pt), -                                                     (15.0pt, -                                                      45.0pt))), -                                  polygon(stroke: (thickness: 4.0pt,-                                                   paint: rgb(0%,45%,85%,100%),-                                                   join: "miter"), -                                          vertices: ((0.0pt, -                                                      20.0pt), -                                                     (15.0pt, -                                                      0.0pt), -                                                     (0.0pt, -                                                      40.0pt), -                                                     (15.0pt, -                                                      45.0pt))), -                                  polygon(stroke: (thickness: 4.0pt,-                                                   paint: rgb(0%,45%,85%,100%),-                                                   join: "miter",-                                                   miter-limit: 20.0), -                                          vertices: ((0.0pt, -                                                      20.0pt), -                                                     (15.0pt, -                                                      0.0pt), -                                                     (0.0pt, -                                                      40.0pt), -                                                     (15.0pt, -                                                      45.0pt)))), -                       dir: ltr, -                       spacing: 1.0em), -                 parbreak() })
− test/out/visualize/stroke-05.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/stroke-06.out
@@ -1,2 +0,0 @@---- skipped ----
− test/out/visualize/stroke-07.out
@@ -1,327 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/stroke-07.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/stroke-07.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/stroke-07.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Comment-, SoftBreak-, Code-    "test/typ/visualize/stroke-07.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-       , KeyValArg (Identifier "stroke") (Literal None)-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-07.typ"-    ( line 5 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-       , KeyValArg (Identifier "stroke") (Literal (Numeric 0.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-07.typ"-    ( line 6 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-       , KeyValArg (Identifier "stroke") (Literal None)-       , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-07.typ"-    ( line 7 , column 2 )-    (FuncCall-       (Ident (Identifier "rect"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Pt))-       , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Plus (Literal (Numeric 0.0 Pt)) (Ident (Identifier "red")))-       , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))-       ])-, ParBreak-, Code-    "test/typ/visualize/stroke-07.typ"-    ( line 9 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Pt))-       , KeyValArg (Identifier "stroke") (Literal (Numeric 0.0 Pt))-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-07.typ"-    ( line 10 , column 2 )-    (FuncCall-       (Ident (Identifier "line"))-       [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Pt))-       , KeyValArg-           (Identifier "stroke")-           (Dict-              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )-              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 0.0 Pt) )-              , Reg-                  ( Ident (Identifier "dash")-                  , Array-                      [ Reg (Literal (String "dot")) , Reg (Literal (Numeric 1.0 Pt)) ]-                  )-              ])-       ])-, ParBreak-, Code-    "test/typ/visualize/stroke-07.typ"-    ( line 12 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg (Identifier "columns") (Literal (Int 2))-       , KeyValArg (Identifier "stroke") (Literal None)-       , BlockArg [ Text "A" ]-       , BlockArg [ Text "B" ]-       ])-, SoftBreak-, Code-    "test/typ/visualize/stroke-07.typ"-    ( line 13 , column 2 )-    (FuncCall-       (Ident (Identifier "table"))-       [ KeyValArg (Identifier "columns") (Literal (Int 2))-       , KeyValArg (Identifier "stroke") (Literal (Numeric 0.0 Pt))-       , BlockArg [ Text "A" ]-       , BlockArg [ Text "B" ]-       ])-, ParBreak-, Code-    "test/typ/visualize/stroke-07.typ"-    ( line 15 , column 2 )-    (FuncCall-       (Ident (Identifier "path"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , KeyValArg (Identifier "stroke") (Literal None)-       , KeyValArg (Identifier "closed") (Literal (Boolean True))-       , NormalArg-           (Array-              [ Reg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Percent))-                     , Reg (Literal (Numeric 0.0 Percent))-                     ])-              , Reg-                  (Array-                     [ Reg (Literal (Numeric 4.0 Percent))-                     , Reg (Negated (Literal (Numeric 4.0 Percent)))-                     ])-              ])-       , NormalArg-           (Array-              [ Reg-                  (Array-                     [ Reg (Literal (Numeric 50.0 Percent))-                     , Reg (Literal (Numeric 50.0 Percent))-                     ])-              , Reg-                  (Array-                     [ Reg (Literal (Numeric 4.0 Percent))-                     , Reg (Negated (Literal (Numeric 4.0 Percent)))-                     ])-              ])-       , NormalArg-           (Array-              [ Reg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Percent))-                     , Reg (Literal (Numeric 50.0 Percent))-                     ])-              , Reg-                  (Array-                     [ Reg (Literal (Numeric 4.0 Percent))-                     , Reg (Literal (Numeric 4.0 Percent))-                     ])-              ])-       , NormalArg-           (Array-              [ Reg-                  (Array-                     [ Reg (Literal (Numeric 50.0 Percent))-                     , Reg (Literal (Numeric 0.0 Percent))-                     ])-              , Reg-                  (Array-                     [ Reg (Literal (Numeric 4.0 Percent))-                     , Reg (Literal (Numeric 4.0 Percent))-                     ])-              ])-       ])-, ParBreak-, Code-    "test/typ/visualize/stroke-07.typ"-    ( line 25 , column 2 )-    (FuncCall-       (Ident (Identifier "path"))-       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))-       , KeyValArg (Identifier "stroke") (Literal (Numeric 0.0 Pt))-       , KeyValArg (Identifier "closed") (Literal (Boolean True))-       , NormalArg-           (Array-              [ Reg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Percent))-                     , Reg (Literal (Numeric 0.0 Percent))-                     ])-              , Reg-                  (Array-                     [ Reg (Literal (Numeric 4.0 Percent))-                     , Reg (Negated (Literal (Numeric 4.0 Percent)))-                     ])-              ])-       , NormalArg-           (Array-              [ Reg-                  (Array-                     [ Reg (Literal (Numeric 50.0 Percent))-                     , Reg (Literal (Numeric 50.0 Percent))-                     ])-              , Reg-                  (Array-                     [ Reg (Literal (Numeric 4.0 Percent))-                     , Reg (Negated (Literal (Numeric 4.0 Percent)))-                     ])-              ])-       , NormalArg-           (Array-              [ Reg-                  (Array-                     [ Reg (Literal (Numeric 0.0 Percent))-                     , Reg (Literal (Numeric 50.0 Percent))-                     ])-              , Reg-                  (Array-                     [ Reg (Literal (Numeric 4.0 Percent))-                     , Reg (Literal (Numeric 4.0 Percent))-                     ])-              ])-       , NormalArg-           (Array-              [ Reg-                  (Array-                     [ Reg (Literal (Numeric 50.0 Percent))-                     , Reg (Literal (Numeric 0.0 Percent))-                     ])-              , Reg-                  (Array-                     [ Reg (Literal (Numeric 4.0 Percent))-                     , Reg (Literal (Numeric 4.0 Percent))-                     ])-              ])-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 text(body: [-]), -                 rect(height: 10.0pt, -                      stroke: none, -                      width: 10.0pt), -                 text(body: [-]), -                 rect(height: 10.0pt, -                      stroke: 0.0pt, -                      width: 10.0pt), -                 text(body: [-]), -                 rect(fill: rgb(0%,45%,85%,100%), -                      height: 10.0pt, -                      stroke: none, -                      width: 10.0pt), -                 text(body: [-]), -                 rect(fill: rgb(0%,45%,85%,100%), -                      height: 10.0pt, -                      stroke: (thickness: 0.0pt,-                               color: rgb(100%,25%,21%,100%)), -                      width: 10.0pt), -                 parbreak(), -                 line(length: 30.0pt, -                      stroke: 0.0pt), -                 text(body: [-]), -                 line(length: 30.0pt, -                      stroke: (paint: rgb(100%,25%,21%,100%),-                               thickness: 0.0pt,-                               dash: ("dot", 1.0pt))), -                 parbreak(), -                 table(children: (text(body: [A]), -                                  text(body: [B])), -                       columns: 2, -                       stroke: none), -                 text(body: [-]), -                 table(children: (text(body: [A]), -                                  text(body: [B])), -                       columns: 2, -                       stroke: 0.0pt), -                 parbreak(), -                 path(closed: true, -                      fill: rgb(100%,25%,21%,100%), -                      stroke: none, -                      vertices: (((0%, 0%), -                                  (4%, -4%)), -                                 ((50%, 50%), (4%, -4%)), -                                 ((0%, 50%), (4%, 4%)), -                                 ((50%, 0%), (4%, 4%)))), -                 parbreak(), -                 path(closed: true, -                      fill: rgb(100%,25%,21%,100%), -                      stroke: 0.0pt, -                      vertices: (((0%, 0%), -                                  (4%, -4%)), -                                 ((50%, 50%), (4%, -4%)), -                                 ((0%, 50%), (4%, 4%)), -                                 ((50%, 0%), (4%, 4%)))), -                 parbreak() })
− test/out/visualize/svg-text-00.out
@@ -1,72 +0,0 @@---- parse tree ----[ Code-    "test/typ/visualize/svg-text-00.typ"-    ( line 1 , column 2 )-    (Let-       (BasicBind (Just (Identifier "test")))-       (FuncExpr-          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]-          (Block-             (CodeBlock-                [ If-                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))-                      , Block (Content [ Text "\9989" ])-                      )-                    , ( Literal (Boolean True)-                      , Block-                          (Content-                             [ Text "\10060"-                             , Text "("-                             , Code-                                 "test/typ/visualize/svg-text-00.typ"-                                 ( line 1 , column 47 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "x")) ])-                             , Space-                             , Text "/"-                             , Text "="-                             , Space-                             , Code-                                 "test/typ/visualize/svg-text-00.typ"-                                 ( line 1 , column 59 )-                                 (FuncCall-                                    (Ident (Identifier "repr"))-                                    [ NormalArg (Ident (Identifier "y")) ])-                             , Text ")"-                             ])-                      )-                    ]-                ]))))-, SoftBreak-, Code-    "test/typ/visualize/svg-text-00.typ"-    ( line 2 , column 2 )-    (Set-       (Ident (Identifier "page"))-       [ KeyValArg (Identifier "width") (Literal (Numeric 250.0 Pt)) ])-, ParBreak-, Code-    "test/typ/visualize/svg-text-00.typ"-    ( line 4 , column 2 )-    (FuncCall-       (Ident (Identifier "figure"))-       [ NormalArg-           (FuncCall-              (Ident (Identifier "image"))-              [ NormalArg (Literal (String "/assets/files/diagram.svg")) ])-       , KeyValArg-           (Identifier "caption")-           (Block-              (Content-                 [ Text "A" , Space , Text "textful" , Space , Text "diagram" ]))-       ])-, ParBreak-]---- evaluated ----document(body: { text(body: [-]), -                 parbreak(), -                 figure(body: image(path: "/assets/files/diagram.svg"), -                        caption: text(body: [A textful diagram])), -                 parbreak() })
+ test/skip/compiler/show-node-05.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/compiler/show-node-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-node-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-node-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-node-05.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "world")))+              (Block (Content [ Space , Text "World" , Space ]))+          , Show (Just (Literal (String "W"))) (Ident (Identifier "strong"))+          , Ident (Identifier "world")+          , Block+              (CodeBlock+                 [ Set+                     (Ident (Identifier "text"))+                     [ NormalArg (Ident (Identifier "blue")) ]+                 , Show+                     Nothing+                     (FuncExpr+                        [ NormalParam (Identifier "it") ]+                        (Block+                           (CodeBlock+                              [ Show (Just (Literal (String "o"))) (Literal (String "\216"))+                              , Ident (Identifier "it")+                              ])))+                 , Ident (Identifier "world")+                 ])+          , Ident (Identifier "world")+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: { [ ], +                              strong(body: [W]), +                              [orld ] }), +                 parbreak(), +                 text(body: { [ ], +                              strong(body: text(body: [W],+                                                color: rgb(0%,45%,85%,100%))), +                              text(body: [Ø],+                                   color: rgb(0%,45%,85%,100%)), +                              text(body: [orld ],+                                   color: rgb(0%,45%,85%,100%))}), +                 text(body: { [ ], +                              strong(body: [W]), +                              [orld ] }) })
+ test/skip/compiler/show-node-05.typ view
@@ -0,0 +1,16 @@+// Test that scoping works as expected.+#{+  let world = [ World ]+  show "W": strong+  world+  {+    set text(blue)+    show: it => {+      show "o": "Ø"+      it+    }+    world+  }+  world+}+
+ test/skip/compiler/show-text-07.out view
@@ -0,0 +1,83 @@+--- parse tree ---+[ Code+    "typ/compiler/show-text-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-text-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-text-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-text-07.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "list")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (Content+                [ SoftBreak+                , Code+                    "typ/compiler/show-text-07.typ"+                    ( line 4 , column 4 )+                    (Show+                       (Just (Literal (String "World")))+                       (Block (Content [ Text "\127758" ])))+                , SoftBreak+                , Code+                    "typ/compiler/show-text-07.typ"+                    ( line 5 , column 4 )+                    (Ident (Identifier "it"))+                , ParBreak+                ]))))+, ParBreak+, Text "World"+, SoftBreak+, BulletListItem [ Text "World" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [World+]), +                 text(body: [+]), +                 text(body: [+]), +                 list(children: ({ text(body: [🌎]), +                                   parbreak() })), +                 parbreak() })
+ test/skip/compiler/show-text-07.typ view
@@ -0,0 +1,9 @@+// Replace worlds but only in lists.+#show list: it => [+  #show "World": [🌎]+  #it+]++World+- World+
+ test/typ/bugs/args-sink-00.out view
@@ -0,0 +1,79 @@+--- parse tree ---+[ Code+    "typ/bugs/args-sink-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/args-sink-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/args-sink-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/args-sink-00.typ"+    ( line 2 , column 2 )+    (LetFunc+       (Identifier "foo")+       [ SinkParam (Just (Identifier "body")) ]+       (FuncCall+          (Ident (Identifier "repr"))+          [ NormalArg+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "pos")) (Ident (Identifier "body")))+                 [])+          ]))+, SoftBreak+, Code+    "typ/bugs/args-sink-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "foo"))+       [ KeyValArg (Identifier "a") (Literal (String "1"))+       , KeyValArg (Identifier "b") (Literal (String "2"))+       , NormalArg (Literal (Int 1))+       , NormalArg (Literal (Int 2))+       , NormalArg (Literal (Int 3))+       , NormalArg (Literal (Int 4))+       , NormalArg (Literal (Int 5))+       , NormalArg (Literal (Int 6))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [(1, 2, 3, 4, 5, 6)]), +                 parbreak() })
+ test/typ/bugs/args-underscore-00.out view
@@ -0,0 +1,69 @@+--- parse tree ---+[ Code+    "typ/bugs/args-underscore-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/args-underscore-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/args-underscore-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/args-underscore-00.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "len"))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "map"))+                       (Array+                          [ Reg (Literal (Int 1))+                          , Reg (Literal (Int 2))+                          , Reg (Literal (Int 3))+                          ]))+                    [ NormalArg (FuncExpr [ SkipParam ] (Block (CodeBlock []))) ]))+              [])+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/bugs/columns-1-00.out view
@@ -0,0 +1,86 @@+--- parse tree ---+[ Code+    "typ/bugs/columns-1-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/columns-1-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/columns-1-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/columns-1-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 70.0 Pt)) ])+, ParBreak+, Text "Hallo"+, SoftBreak+, Code+    "typ/bugs/columns-1-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "columns"))+       [ NormalArg (Literal (Int 2))+       , BlockArg+           [ SoftBreak+           , Heading 1 [ Text "A" ]+           , Text "Text"+           , SoftBreak+           , Heading 1 [ Text "B" ]+           , Text "Text"+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Hallo+]), +                 columns(body: { text(body: [+]), +                                 heading(body: text(body: [A]), +                                         level: 1), +                                 text(body: [Text+]), +                                 heading(body: text(body: [B]), +                                         level: 1), +                                 text(body: [Text]), +                                 parbreak() }, +                         count: 2), +                 parbreak() })
+ test/typ/bugs/flow-1-00.out view
@@ -0,0 +1,140 @@+--- parse tree ---+[ Code+    "typ/bugs/flow-1-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/flow-1-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/flow-1-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/flow-1-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 70.0 Pt)) ])+, SoftBreak+, Code+    "typ/bugs/flow-1-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ BlockArg+           [ Text "This"+           , Space+           , Text "file"+           , Space+           , Text "tests"+           , Space+           , Text "a"+           , Space+           , Text "bug"+           , Space+           , Text "where"+           , Space+           , Text "an"+           , Space+           , Text "almost"+           , Space+           , Text "empty"+           , Space+           , Text "page"+           , Space+           , Text "occurs"+           , Text "."+           ]+       ])+, SoftBreak+, Code+    "typ/bugs/flow-1-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ BlockArg+           [ SoftBreak+           , Text "The"+           , Space+           , Text "text"+           , Space+           , Text "in"+           , Space+           , Text "this"+           , Space+           , Text "second"+           , Space+           , Text "block"+           , Space+           , Text "was"+           , Space+           , Text "torn"+           , Space+           , Text "apart"+           , Space+           , Text "and"+           , Space+           , Text "split"+           , Space+           , Text "up"+           , Space+           , Text "for"+           , SoftBreak+           , Text "some"+           , Space+           , Text "reason"+           , Space+           , Text "beyond"+           , Space+           , Text "my"+           , Space+           , Text "knowledge"+           , Text "."+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 block(body: text(body: [This file tests a bug where an almost empty page occurs.])), +                 text(body: [+]), +                 block(body: { text(body: [+The text in this second block was torn apart and split up for+some reason beyond my knowledge.]), +                               parbreak() }), +                 parbreak() })
+ test/typ/bugs/flow-2-00.out view
@@ -0,0 +1,113 @@+--- parse tree ---+[ Code+    "typ/bugs/flow-2-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/flow-2-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/flow-2-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/flow-2-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])+, SoftBreak+, Code+    "typ/bugs/flow-2-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 19.0 Pt)) ])+, SoftBreak+, Code+    "typ/bugs/flow-2-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ BlockArg+           [ SoftBreak+           , Text "But,"+           , Space+           , Text "soft!"+           , Space+           , Text "what"+           , Space+           , Text "light"+           , Space+           , Text "through"+           , Space+           , Text "yonder"+           , Space+           , Text "window"+           , Space+           , Text "breaks?"+           , SoftBreak+           , Text "It"+           , Space+           , Text "is"+           , Space+           , Text "the"+           , Space+           , Text "east,"+           , Space+           , Text "and"+           , Space+           , Text "Juliet"+           , Space+           , Text "is"+           , Space+           , Text "the"+           , Space+           , Text "sun"+           , Text "."+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 v(amount: 19.0pt), +                 text(body: [+]), +                 block(body: { text(body: [+But, soft! what light through yonder window breaks?+It is the east, and Juliet is the sun.]), +                               parbreak() }), +                 parbreak() })
+ test/typ/bugs/flow-3-00.out view
@@ -0,0 +1,111 @@+--- parse tree ---+[ Code+    "typ/bugs/flow-3-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/flow-3-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/flow-3-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/flow-3-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])+, SoftBreak+, Code+    "typ/bugs/flow-3-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "columns"))+              [ NormalArg (Literal (Int 2))+              , BlockArg+                  [ SoftBreak+                  , Text "Text"+                  , SoftBreak+                  , Code+                      "typ/bugs/flow-3-00.typ"+                      ( line 5 , column 4 )+                      (FuncCall+                         (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 12.0 Pt)) ])+                  , SoftBreak+                  , Text "Hi"+                  , SoftBreak+                  , Code+                      "typ/bugs/flow-3-00.typ"+                      ( line 7 , column 4 )+                      (FuncCall+                         (Ident (Identifier "v"))+                         [ NormalArg (Literal (Numeric 10.0 Pt))+                         , KeyValArg (Identifier "weak") (Literal (Boolean True))+                         ])+                  , SoftBreak+                  , Text "At"+                  , Space+                  , Text "column"+                  , Space+                  , Text "break"+                  , Text "."+                  , ParBreak+                  ]+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 rect(body: columns(body: { text(body: [+Text+]), +                                            v(amount: 12.0pt), +                                            text(body: [+Hi+]), +                                            v(amount: 10.0pt, +                                              weak: true), +                                            text(body: [+At column break.]), +                                            parbreak() }, +                                    count: 2), +                      inset: 0.0pt), +                 parbreak() })
+ test/typ/bugs/flow-4-00.out view
@@ -0,0 +1,66 @@+--- parse tree ---+[ Code+    "typ/bugs/flow-4-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/flow-4-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/flow-4-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/flow-4-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 105.0 Pt)) ])+, SoftBreak+, Code+    "typ/bugs/flow-4-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 block(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut]), +                 parbreak() })
+ test/typ/bugs/grid-1-00.out view
@@ -0,0 +1,96 @@+--- parse tree ---+[ Code+    "typ/bugs/grid-1-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/grid-1-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/grid-1-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/grid-1-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 150.0 Pt)) ])+, SoftBreak+, Code+    "typ/bugs/grid-1-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg+           (Identifier "columns")+           (Array [ Reg (Literal (Numeric 1.5 Cm)) , Reg (Literal Auto) ])+       , KeyValArg+           (Identifier "rows")+           (Array [ Reg (Literal Auto) , Reg (Literal Auto) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 table(children: (rect(fill: rgb(100%,25%,21%,100%), +                                       width: 100%), +                                  rect(fill: rgb(0%,45%,85%,100%), +                                       width: 100%), +                                  rect(fill: rgb(18%,80%,25%,100%), +                                       height: 50%, +                                       width: 100%)), +                       columns: (1.5cm, auto), +                       rows: (auto, auto)), +                 parbreak() })
+ test/typ/bugs/grid-1-01.out view
@@ -0,0 +1,87 @@+--- parse tree ---+[ Code+    "typ/bugs/grid-1-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/grid-1-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/grid-1-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/grid-1-01.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))+       ])+, SoftBreak+, BulletListItem+    [ Code+        "typ/bugs/grid-1-01.typ"+        ( line 3 , column 4 )+        (FuncCall+           (Ident (Identifier "rect"))+           [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+           , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))+           ])+    , SoftBreak+    , BulletListItem+        [ Code+            "typ/bugs/grid-1-01.typ"+            ( line 4 , column 6 )+            (FuncCall+               (Ident (Identifier "rect"))+               [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+               , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))+               ])+        , ParBreak+        ]+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 rect(height: 1.0em, +                      width: 100%), +                 text(body: [+]), +                 list(children: ({ rect(height: 1.0em, +                                        width: 100%), +                                   text(body: [+]), +                                   list(children: ({ rect(height: 1.0em, +                                                          width: 100%), +                                                     parbreak() })) })) })
+ test/typ/bugs/grid-2-00.out view
@@ -0,0 +1,167 @@+--- parse tree ---+[ Code+    "typ/bugs/grid-2-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/grid-2-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/grid-2-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/grid-2-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt)) ])+, SoftBreak+, Code+    "typ/bugs/grid-2-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Array [ Reg (Literal (Numeric 2.0 Cm)) , Reg (Literal Auto) ])+       , KeyValArg+           (Identifier "rows")+           (Array [ Reg (Literal Auto) , Reg (Literal Auto) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 80.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+              ])+       , NormalArg+           (Block+              (Content+                 [ Text "hello"+                 , Space+                 , HardBreak+                 , Text "darkness"+                 , Space+                 , Code+                     "typ/bugs/grid-2-00.typ"+                     ( line 9 , column 22 )+                     (Ident (Identifier "parbreak"))+                 , Space+                 , Text "my"+                 , Space+                 , HardBreak+                 , Text "old"+                 , Space+                 , HardBreak+                 , Text "friend"+                 , Space+                 , HardBreak+                 , Text "I"+                 ]))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "polygon"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Percent))+                     , Reg (Literal (Numeric 0.0 Percent))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 100.0 Percent))+                     , Reg (Literal (Numeric 0.0 Percent))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 100.0 Percent))+                     , Reg (Literal (Numeric 20.0 Percent))+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: (rect(fill: rgb(100%,25%,21%,100%), +                                      width: 100%), +                                 rect(fill: rgb(0%,45%,85%,100%), +                                      width: 100%), +                                 rect(fill: rgb(18%,80%,25%,100%), +                                      height: 80%, +                                      width: 100%), +                                 { text(body: [hello ]), +                                   linebreak(), +                                   text(body: [darkness ]), +                                   text(body: [ my ]), +                                   linebreak(), +                                   text(body: [old ]), +                                   linebreak(), +                                   text(body: [friend ]), +                                   linebreak(), +                                   text(body: [I]) }, +                                 rect(fill: rgb(0%,45%,85%,100%), +                                      height: 20%, +                                      width: 100%), +                                 polygon(fill: rgb(100%,25%,21%,100%), +                                         vertices: ((0%, +                                                     0%), +                                                    (100%, +                                                     0%), +                                                    (100%, +                                                     20%)))), +                      columns: (2.0cm, auto), +                      rows: (auto, auto)), +                 parbreak() })
+ test/typ/bugs/grid-2-01.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/bugs/grid-2-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/grid-2-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/grid-2-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/grid-2-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])+, SoftBreak+, Code+    "typ/bugs/grid-2-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 5)) ])+, SoftBreak+, BulletListItem+    [ Code+        "typ/bugs/grid-2-01.typ"+        ( line 4 , column 4 )+        (FuncCall+           (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 5)) ])+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [Lorem ipsum dolor sit amet,]), +                 text(body: [+]), +                 list(children: ({ text(body: [Lorem ipsum dolor sit amet,]), +                                   parbreak() })) })
+ test/typ/bugs/grid-3-00.out view
@@ -0,0 +1,75 @@+--- parse tree ---+[ Code+    "typ/bugs/grid-3-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/grid-3-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/grid-3-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/grid-3-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 70.0 Pt)) ])+, SoftBreak+, Code+    "typ/bugs/grid-3-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 40.0 Pt)) ])+, SoftBreak+, Text "The"+, Space+, Text "following"+, Text ":"+, SoftBreak+, EnumListItem Nothing [ Text "A" ]+, SoftBreak+, EnumListItem Nothing [ Text "B" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 v(amount: 40.0pt), +                 text(body: [+The following:+]), +                 enum(children: (text(body: [A]), +                                 { text(body: [B]), +                                   parbreak() })) })
+ test/typ/bugs/math-realize-00.out view
@@ -0,0 +1,240 @@+--- parse tree ---+[ Code+    "typ/bugs/math-realize-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/math-realize-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/math-realize-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/math-realize-00.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "my")))+       (Block+          (Content+             [ Equation+                 False+                 [ Code+                     "typ/bugs/math-realize-00.typ"+                     ( line 2 , column 12 )+                     (Ident (Identifier "pi"))+                 ]+             ])))+, SoftBreak+, Code+    "typ/bugs/math-realize-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "f1")))+       (FuncCall+          (Ident (Identifier "box"))+          [ KeyValArg (Identifier "baseline") (Literal (Numeric 10.0 Pt))+          , NormalArg (Block (Content [ Text "f" ]))+          ]))+, SoftBreak+, Code+    "typ/bugs/math-realize-00.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "f2")))+       (FuncCall+          (Ident (Identifier "style"))+          [ NormalArg+              (FuncExpr+                 [ NormalParam (Identifier "sty") ] (Ident (Identifier "f1")))+          ]))+, SoftBreak+, Code+    "typ/bugs/math-realize-00.typ"+    ( line 5 , column 2 )+    (Show+       (Just+          (FieldAccess+             (Ident (Identifier "vec")) (Ident (Identifier "math"))))+       (Block (Content [ Text "nope" ])))+, ParBreak+, Equation+    True+    [ Code+        "typ/bugs/math-realize-00.typ"+        ( line 7 , column 3 )+        (Ident (Identifier "pi"))+    , Text "a"+    ]+, SoftBreak+, Equation+    True+    [ Code+        "typ/bugs/math-realize-00.typ"+        ( line 8 , column 3 )+        (Ident (Identifier "my"))+    , Text "a"+    ]+, SoftBreak+, Equation+    True+    [ Text "1"+    , Text "+"+    , Code+        "typ/bugs/math-realize-00.typ"+        ( line 9 , column 7 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg [ MFrac (Text "x") (Text "2") ] ])+    , Text "+"+    , Code+        "typ/bugs/math-realize-00.typ"+        ( line 9 , column 19 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ NormalArg+               (FuncCall+                  (Ident (Identifier "hide"))+                  [ NormalArg+                      (Block+                         (Content [ Equation False [ MFrac (Text "x") (Text "2") ] ]))+                  ])+           ])+    ]+, SoftBreak+, Equation+    True+    [ Text "a"+    , Text "x"+    , Code+        "typ/bugs/math-realize-00.typ"+        ( line 10 , column 8 )+        (FuncCall+           (Ident (Identifier "link"))+           [ NormalArg (Literal (String "url"))+           , NormalArg+               (Block (Content [ Equation False [ Text "+" , Text "b" ] ]))+           ])+    ]+, SoftBreak+, Equation+    True+    [ Text "f"+    , Code+        "typ/bugs/math-realize-00.typ"+        ( line 11 , column 5 )+        (Ident (Identifier "f1"))+    , Code+        "typ/bugs/math-realize-00.typ"+        ( line 11 , column 8 )+        (Ident (Identifier "f2"))+    ]+, SoftBreak+, Equation+    True+    [ Code+        "typ/bugs/math-realize-00.typ"+        ( line 12 , column 3 )+        (FuncCall+           (Ident (Identifier "vec"))+           [ BlockArg [ Text "1" ] , BlockArg [ Text "2" ] ])+    , Code+        "typ/bugs/math-realize-00.typ"+        ( line 12 , column 12 )+        (Ident (Identifier "convolve"))+    , Text "2"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 math.equation(block: true, +                               body: { text(body: [π]), +                                       text(body: [a]) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { math.equation(block: false, +                                                     body: text(body: [π]), +                                                     numbering: none), +                                       text(body: [a]) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [1]), +                                       text(body: [+]), +                                       math.sqrt(radicand: math.frac(denom: text(body: [2]), +                                                                     num: text(body: [x]))), +                                       text(body: [+]), +                                       math.sqrt(radicand: hide(body: math.equation(block: false, +                                                                                    body: math.frac(denom: text(body: [2]), +                                                                                                    num: text(body: [x])), +                                                                                    numbering: none))) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [a]), +                                       text(body: [x]), +                                       link(body: math.equation(block: false, +                                                                body: { text(body: [+]), +                                                                        text(body: [b]) }, +                                                                numbering: none), +                                            dest: "url") }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [f]), +                                       box(baseline: 10.0pt, +                                           body: text(body: [f])), +                                       box(baseline: 10.0pt, +                                           body: text(body: [f])) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [nope]), +                                       text(body: [∗]), +                                       text(body: [2]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/bugs/math-realize-01.out view
@@ -0,0 +1,152 @@+--- parse tree ---+[ Code+    "typ/bugs/math-realize-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/math-realize-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/math-realize-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    True+    [ MAttach Nothing (Just (Text "2")) (Text "x")+    , Code+        "typ/bugs/math-realize-01.typ"+        ( line 2 , column 8 )+        (FuncCall+           (Ident (Identifier "hide"))+           [ BlockArg+               [ Equation+                   False+                   [ MGroup+                       (Just "(")+                       (Just ")")+                       [ Code+                           "typ/bugs/math-realize-01.typ"+                           ( line 2 , column 15 )+                           (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "gt")))+                       , Code+                           "typ/bugs/math-realize-01.typ"+                           ( line 2 , column 18 )+                           (FieldAccess (Ident (Identifier "alt")) (Ident (Identifier "phi")))+                       ]+                   , Code+                       "typ/bugs/math-realize-01.typ"+                       ( line 2 , column 27 )+                       (Ident (Identifier "union"))+                   , MAttach Nothing (Just (Text "2")) (Text "y")+                   , Text "0"+                   ]+               ]+           ])+    , MAttach Nothing (Just (Text "2")) (Text "z")+    ]+, SoftBreak+, Text "Hello"+, Space+, Code+    "typ/bugs/math-realize-01.typ"+    ( line 3 , column 8 )+    (FuncCall+       (Ident (Identifier "hide"))+       [ BlockArg [ Text "there" , Space , Equation False [ Text "x" ] ]+       ])+, SoftBreak+, Text "and"+, Space+, Code+    "typ/bugs/math-realize-01.typ"+    ( line 4 , column 6 )+    (FuncCall+       (Ident (Identifier "hide"))+       [ BlockArg+           [ Equation+               True+               [ MGroup+                   Nothing+                   Nothing+                   [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]+               , Code+                   "typ/bugs/math-realize-01.typ"+                   ( line 4 , column 18 )+                   (FieldAccess+                      (Ident (Identifier "eq")) (Ident (Identifier "colon")))+               , MAttach Nothing (Just (Text "2")) (Text "x")+               ]+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: none, +                                                   base: text(body: [x]), +                                                   t: text(body: [2])), +                                       hide(body: math.equation(block: false, +                                                                body: { math.lr(body: ({ [(], +                                                                                         text(body: [≥]), +                                                                                         text(body: [ϕ]), +                                                                                         [)] })), +                                                                        text(body: [∪]), +                                                                        math.attach(b: none, +                                                                                    base: text(body: [y]), +                                                                                    t: text(body: [2])), +                                                                        text(body: [0]) }, +                                                                numbering: none)), +                                       math.attach(b: none, +                                                   base: text(body: [z]), +                                                   t: text(body: [2])) }, +                               numbering: none), +                 text(body: [+Hello ]), +                 hide(body: { text(body: [there ]), +                              math.equation(block: false, +                                            body: text(body: [x]), +                                            numbering: none) }), +                 text(body: [+and ]), +                 hide(body: math.equation(block: true, +                                          body: { text(body: [f]), +                                                  math.lr(body: ({ [(], +                                                                   text(body: [x]), +                                                                   [)] })), +                                                  text(body: [≔]), +                                                  math.attach(b: none, +                                                              base: text(body: [x]), +                                                              t: text(body: [2])) }, +                                          numbering: none)), +                 parbreak() })
+ test/typ/bugs/math-realize-02.out view
@@ -0,0 +1,455 @@+--- parse tree ---+[ Code+    "typ/bugs/math-realize-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/math-realize-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/math-realize-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/bugs/math-realize-02.typ"+    ( line 3 , column 2 )+    (LetFunc+       (Identifier "foo")+       [ NormalParam (Identifier "v1") , NormalParam (Identifier "v2") ]+       (Block+          (CodeBlock+             [ Block+                 (Content+                    [ Equation+                        False+                        [ Code+                            "typ/bugs/math-realize-02.typ"+                            ( line 6 , column 4 )+                            (Ident (Identifier "v1"))+                        , MAttach+                            Nothing+                            (Just (Text "2"))+                            (Code+                               "typ/bugs/math-realize-02.typ"+                               ( line 6 , column 7 )+                               (Ident (Identifier "v2")))+                        ]+                    ])+             ])))+, SoftBreak+, Code+    "typ/bugs/math-realize-02.typ"+    ( line 8 , column 2 )+    (LetFunc+       (Identifier "bar")+       [ NormalParam (Identifier "v1") , NormalParam (Identifier "v2") ]+       (Block+          (CodeBlock+             [ Block+                 (Content+                    [ Equation+                        True+                        [ Code+                            "typ/bugs/math-realize-02.typ"+                            ( line 11 , column 5 )+                            (Ident (Identifier "v1"))+                        , MAttach+                            Nothing+                            (Just (Text "2"))+                            (Code+                               "typ/bugs/math-realize-02.typ"+                               ( line 11 , column 8 )+                               (Ident (Identifier "v2")))+                        ]+                    ])+             ])))+, SoftBreak+, Code+    "typ/bugs/math-realize-02.typ"+    ( line 13 , column 2 )+    (LetFunc+       (Identifier "baz")+       [ SinkParam (Just (Identifier "sink")) ]+       (Block+          (CodeBlock+             [ FuncCall+                 (FieldAccess+                    (Ident (Identifier "join"))+                    (FuncCall+                       (FieldAccess+                          (Ident (Identifier "map"))+                          (FuncCall+                             (FieldAccess+                                (Ident (Identifier "pos")) (Ident (Identifier "sink")))+                             []))+                       [ NormalArg+                           (FuncExpr+                              [ NormalParam (Identifier "x") ]+                              (Block+                                 (Content+                                    [ Equation+                                        False+                                        [ Code+                                            "typ/bugs/math-realize-02.typ"+                                            ( line 15 , column 24 )+                                            (FuncCall+                                               (Ident (Identifier "hat"))+                                               [ NormalArg (Ident (Identifier "x")) ])+                                        ]+                                    ])))+                       ]))+                 [ NormalArg+                     (FieldAccess (Ident (Identifier "and")) (Ident (Identifier "sym")))+                 ]+             ])))+, ParBreak+, Text "Inline"+, Space+, Equation+    False+    [ Text "2"+    , Code+        "typ/bugs/math-realize-02.typ"+        ( line 18 , column 11 )+        (FuncCall+           (Ident (Identifier "foo"))+           [ BlockArg+               [ Code+                   "typ/bugs/math-realize-02.typ"+                   ( line 18 , column 15 )+                   (Ident (Identifier "alpha"))+               ]+           , BlockArg+               [ MGroup+                   (Just "(")+                   (Just ")")+                   [ Text "M"+                   , Text "+"+                   , Code+                       "typ/bugs/math-realize-02.typ"+                       ( line 18 , column 25 )+                       (FuncCall+                          (Ident (Identifier "foo"))+                          [ BlockArg [ Text "a" ] , BlockArg [ Text "b" ] ])+                   ]+               ]+           ])+    ]+, Text "."+, ParBreak+, Text "Inline"+, Space+, Equation+    False+    [ Text "2"+    , Code+        "typ/bugs/math-realize-02.typ"+        ( line 20 , column 11 )+        (FuncCall+           (Ident (Identifier "bar"))+           [ BlockArg+               [ Code+                   "typ/bugs/math-realize-02.typ"+                   ( line 20 , column 15 )+                   (Ident (Identifier "alpha"))+               ]+           , BlockArg+               [ MGroup+                   (Just "(")+                   (Just ")")+                   [ Text "M"+                   , Text "+"+                   , Code+                       "typ/bugs/math-realize-02.typ"+                       ( line 20 , column 25 )+                       (FuncCall+                          (Ident (Identifier "foo"))+                          [ BlockArg [ Text "a" ] , BlockArg [ Text "b" ] ])+                   ]+               ]+           ])+    ]+, Text "."+, ParBreak+, Text "Inline"+, Space+, Equation+    False+    [ Text "2"+    , Code+        "typ/bugs/math-realize-02.typ"+        ( line 22 , column 11 )+        (FuncCall+           (Ident (Identifier "baz"))+           [ BlockArg [ Text "x" ]+           , BlockArg [ Text "y" ]+           , BlockArg+               [ Code+                   "typ/bugs/math-realize-02.typ"+                   ( line 22 , column 19 )+                   (FuncCall+                      (Ident (Identifier "baz"))+                      [ BlockArg [ Text "u" ] , BlockArg [ Text "v" ] ])+               ]+           ])+    ]+, Text "."+, ParBreak+, Equation+    True+    [ Text "2"+    , Code+        "typ/bugs/math-realize-02.typ"+        ( line 24 , column 5 )+        (FuncCall+           (Ident (Identifier "foo"))+           [ BlockArg+               [ Code+                   "typ/bugs/math-realize-02.typ"+                   ( line 24 , column 9 )+                   (Ident (Identifier "alpha"))+               ]+           , BlockArg+               [ MGroup+                   (Just "(")+                   (Just ")")+                   [ Text "M"+                   , Text "+"+                   , Code+                       "typ/bugs/math-realize-02.typ"+                       ( line 24 , column 19 )+                       (FuncCall+                          (Ident (Identifier "foo"))+                          [ BlockArg [ Text "a" ] , BlockArg [ Text "b" ] ])+                   ]+               ]+           ])+    ]+, SoftBreak+, Equation+    True+    [ Text "2"+    , Code+        "typ/bugs/math-realize-02.typ"+        ( line 25 , column 5 )+        (FuncCall+           (Ident (Identifier "bar"))+           [ BlockArg+               [ Code+                   "typ/bugs/math-realize-02.typ"+                   ( line 25 , column 9 )+                   (Ident (Identifier "alpha"))+               ]+           , BlockArg+               [ MGroup+                   (Just "(")+                   (Just ")")+                   [ Text "M"+                   , Text "+"+                   , Code+                       "typ/bugs/math-realize-02.typ"+                       ( line 25 , column 19 )+                       (FuncCall+                          (Ident (Identifier "foo"))+                          [ BlockArg [ Text "a" ] , BlockArg [ Text "b" ] ])+                   ]+               ]+           ])+    ]+, SoftBreak+, Equation+    True+    [ Text "2"+    , Code+        "typ/bugs/math-realize-02.typ"+        ( line 26 , column 5 )+        (FuncCall+           (Ident (Identifier "baz"))+           [ BlockArg [ Text "x" ]+           , BlockArg [ Text "y" ]+           , BlockArg+               [ Code+                   "typ/bugs/math-realize-02.typ"+                   ( line 26 , column 13 )+                   (FuncCall+                      (Ident (Identifier "baz"))+                      [ BlockArg [ Text "u" ] , BlockArg [ Text "v" ] ])+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [Inline ]), +                 math.equation(block: false, +                               body: { text(body: [2]), +                                       math.equation(block: false, +                                                     body: { text(body: [α]), +                                                             math.attach(b: none, +                                                                         base: math.lr(body: ({ [(], +                                                                                                text(body: [M]), +                                                                                                text(body: [+]), +                                                                                                math.equation(block: false, +                                                                                                              body: { text(body: [a]), +                                                                                                                      math.attach(b: none, +                                                                                                                                  base: text(body: [b]), +                                                                                                                                  t: text(body: [2])) }, +                                                                                                              numbering: none), +                                                                                                [)] })), +                                                                         t: text(body: [2])) }, +                                                     numbering: none) }, +                               numbering: none), +                 text(body: [.]), +                 parbreak(), +                 text(body: [Inline ]), +                 math.equation(block: false, +                               body: { text(body: [2]), +                                       math.equation(block: true, +                                                     body: { text(body: [α]), +                                                             math.attach(b: none, +                                                                         base: math.lr(body: ({ [(], +                                                                                                text(body: [M]), +                                                                                                text(body: [+]), +                                                                                                math.equation(block: false, +                                                                                                              body: { text(body: [a]), +                                                                                                                      math.attach(b: none, +                                                                                                                                  base: text(body: [b]), +                                                                                                                                  t: text(body: [2])) }, +                                                                                                              numbering: none), +                                                                                                [)] })), +                                                                         t: text(body: [2])) }, +                                                     numbering: none) }, +                               numbering: none), +                 text(body: [.]), +                 parbreak(), +                 text(body: [Inline ]), +                 math.equation(block: false, +                               body: { text(body: [2]), +                                       math.equation(block: false, +                                                     body: math.accent(accent: ^, +                                                                       base: text(body: [x])), +                                                     numbering: none), +                                       text(body: [∧]), +                                       math.equation(block: false, +                                                     body: math.accent(accent: ^, +                                                                       base: text(body: [y])), +                                                     numbering: none), +                                       text(body: [∧]), +                                       math.equation(block: false, +                                                     body: math.accent(accent: ^, +                                                                       base: { math.equation(block: false, +                                                                                             body: math.accent(accent: ^, +                                                                                                               base: text(body: [u])), +                                                                                             numbering: none), +                                                                               text(body: [∧]), +                                                                               math.equation(block: false, +                                                                                             body: math.accent(accent: ^, +                                                                                                               base: text(body: [v])), +                                                                                             numbering: none) }), +                                                     numbering: none) }, +                               numbering: none), +                 text(body: [.]), +                 parbreak(), +                 math.equation(block: true, +                               body: { text(body: [2]), +                                       math.equation(block: false, +                                                     body: { text(body: [α]), +                                                             math.attach(b: none, +                                                                         base: math.lr(body: ({ [(], +                                                                                                text(body: [M]), +                                                                                                text(body: [+]), +                                                                                                math.equation(block: false, +                                                                                                              body: { text(body: [a]), +                                                                                                                      math.attach(b: none, +                                                                                                                                  base: text(body: [b]), +                                                                                                                                  t: text(body: [2])) }, +                                                                                                              numbering: none), +                                                                                                [)] })), +                                                                         t: text(body: [2])) }, +                                                     numbering: none) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [2]), +                                       math.equation(block: true, +                                                     body: { text(body: [α]), +                                                             math.attach(b: none, +                                                                         base: math.lr(body: ({ [(], +                                                                                                text(body: [M]), +                                                                                                text(body: [+]), +                                                                                                math.equation(block: false, +                                                                                                              body: { text(body: [a]), +                                                                                                                      math.attach(b: none, +                                                                                                                                  base: text(body: [b]), +                                                                                                                                  t: text(body: [2])) }, +                                                                                                              numbering: none), +                                                                                                [)] })), +                                                                         t: text(body: [2])) }, +                                                     numbering: none) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [2]), +                                       math.equation(block: false, +                                                     body: math.accent(accent: ^, +                                                                       base: text(body: [x])), +                                                     numbering: none), +                                       text(body: [∧]), +                                       math.equation(block: false, +                                                     body: math.accent(accent: ^, +                                                                       base: text(body: [y])), +                                                     numbering: none), +                                       text(body: [∧]), +                                       math.equation(block: false, +                                                     body: math.accent(accent: ^, +                                                                       base: { math.equation(block: false, +                                                                                             body: math.accent(accent: ^, +                                                                                                               base: text(body: [u])), +                                                                                             numbering: none), +                                                                               text(body: [∧]), +                                                                               math.equation(block: false, +                                                                                             body: math.accent(accent: ^, +                                                                                                               base: text(body: [v])), +                                                                                             numbering: none) }), +                                                     numbering: none) }, +                               numbering: none), +                 parbreak() })
+ test/typ/bugs/parameter-pattern-00.out view
@@ -0,0 +1,86 @@+--- parse tree ---+[ Code+    "typ/bugs/parameter-pattern-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/parameter-pattern-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/parameter-pattern-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/parameter-pattern-00.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "map"))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "zip"))+                       (Array+                          [ Reg (Literal (Int 1))+                          , Reg (Literal (Int 2))+                          , Reg (Literal (Int 3))+                          ]))+                    [ NormalArg+                        (Array+                           [ Reg (Literal (Int 1))+                           , Reg (Literal (Int 2))+                           , Reg (Literal (Int 3))+                           ])+                    ]))+              [ NormalArg+                  (FuncExpr+                     [ DestructuringParam+                         [ Simple Nothing , Simple (Just (Identifier "x")) ]+                     ]+                     (Ident (Identifier "x")))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 1))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/bugs/place-base-00.out view
@@ -0,0 +1,108 @@+--- parse tree ---+[ Code+    "typ/bugs/place-base-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/place-base-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/place-base-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/place-base-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))+       ])+, SoftBreak+, Code+    "typ/bugs/place-base-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "place"))+       [ NormalArg (Ident (Identifier "right"))+       , KeyValArg+           (Identifier "dx") (Negated (Literal (Numeric 70.0 Percent)))+       , KeyValArg (Identifier "dy") (Literal (Numeric 20.0 Percent))+       , NormalArg (Block (Content [ Text "First" ]))+       ])+, SoftBreak+, Code+    "typ/bugs/place-base-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "place"))+       [ NormalArg (Ident (Identifier "left"))+       , KeyValArg (Identifier "dx") (Literal (Numeric 20.0 Percent))+       , KeyValArg (Identifier "dy") (Literal (Numeric 60.0 Percent))+       , NormalArg (Block (Content [ Text "Second" ]))+       ])+, SoftBreak+, Code+    "typ/bugs/place-base-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "place"))+       [ NormalArg+           (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+       , KeyValArg (Identifier "dx") (Literal (Numeric 25.0 Percent))+       , KeyValArg (Identifier "dy") (Literal (Numeric 25.0 Percent))+       , NormalArg (Block (Content [ Text "Third" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 place(alignment: right, +                       body: text(body: [First]), +                       dx: -70%, +                       dy: 20%), +                 text(body: [+]), +                 place(alignment: left, +                       body: text(body: [Second]), +                       dx: 20%, +                       dy: 60%), +                 text(body: [+]), +                 place(alignment: Axes(center, horizon), +                       body: text(body: [Third]), +                       dx: 25%, +                       dy: 25%), +                 parbreak() })
+ test/typ/bugs/smartquotes-in-outline-00.out view
@@ -0,0 +1,81 @@+--- parse tree ---+[ Code+    "typ/bugs/smartquotes-in-outline-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/smartquotes-in-outline-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/smartquotes-in-outline-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/smartquotes-in-outline-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 15.0 Em)) ])+, SoftBreak+, Code+    "typ/bugs/smartquotes-in-outline-00.typ"+    ( line 3 , column 2 )+    (FuncCall (Ident (Identifier "outline")) [])+, ParBreak+, Heading+    1+    [ Quote '"'+    , Text "This"+    , Quote '"'+    , Space+    , Quote '"'+    , Text "is"+    , Quote '"'+    , Space+    , Quote '"'+    , Text "a"+    , Quote '"'+    , Space+    , Quote '"'+    , Text "test"+    , Quote '"'+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 outline(), +                 parbreak(), +                 heading(body: text(body: [“This” “is” “a” “test”]), +                         level: 1) })
+ test/typ/bugs/square-base-00.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/bugs/square-base-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/bugs/square-base-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/bugs/square-base-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/bugs/square-base-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt)) ])+, SoftBreak+, Code+    "typ/bugs/square-base-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Percent))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 60.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 80.0 Percent))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 square(body: rect(height: 80%, +                                   width: 60%), +                        width: 40%), +                 parbreak() })
+ test/typ/coma-00.out view
@@ -0,0 +1,414 @@+--- parse tree ---+[ Code+    "typ/coma-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/coma-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/coma-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/coma-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 450.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 1.0 Cm))+       ])+, ParBreak+, Strong+    [ Text "Technische"+    , Space+    , Text "Universit\228t"+    , Space+    , Text "Berlin"+    ]+, Space+, Code+    "typ/coma-00.typ"+    ( line 4 , column 34 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, Space+, Strong+    [ Text "WiSe" , Space , Text "2019" , Text "/" , Text "2020" ]+, Space+, HardBreak+, Strong+    [ Text "Fakult\228t"+    , Space+    , Text "II,"+    , Space+    , Text "Institut"+    , Space+    , Text "for"+    , Space+    , Text "Mathematik"+    ]+, Space+, Code+    "typ/coma-00.typ"+    ( line 5 , column 41 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, Space+, Text "Woche"+, Space+, Text "3"+, Space+, HardBreak+, Text "Sekretariat"+, Space+, Text "MA"+, Space+, HardBreak+, Text "Dr"+, Text "."+, Space+, Text "Max"+, Space+, Text "Mustermann"+, Space+, HardBreak+, Text "Ola"+, Space+, Text "Nordmann,"+, Space+, Text "John"+, Space+, Text "Doe"+, ParBreak+, Code+    "typ/coma-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Mm)) ])+, SoftBreak+, Code+    "typ/coma-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center"))+       , BlockArg+           [ SoftBreak+           , Code+               "typ/coma-00.typ"+               ( line 12 , column 4 )+               (Set+                  (Ident (Identifier "par"))+                  [ KeyValArg (Identifier "leading") (Literal (Numeric 3.0 Mm)) ])+           , SoftBreak+           , Code+               "typ/coma-00.typ"+               ( line 13 , column 4 )+               (FuncCall+                  (Ident (Identifier "text"))+                  [ NormalArg (Literal (Numeric 1.2 Em))+                  , BlockArg+                      [ Strong+                          [ Text "3"+                          , Text "."+                          , Space+                          , Text "\220bungsblatt"+                          , Space+                          , Text "Computerorientierte"+                          , Space+                          , Text "Mathematik"+                          , Space+                          , Text "II"+                          ]+                      ]+                  ])+           , Space+           , HardBreak+           , Strong+               [ Text "Abgabe"+               , Text ":"+               , Space+               , Text "03"+               , Text "."+               , Text "05"+               , Text "."+               , Text "2019"+               ]+           , Space+           , Text "("+           , Text "bis"+           , Space+           , Text "10"+           , Text ":"+           , Text "10"+           , Space+           , Text "Uhr"+           , Space+           , Text "in"+           , Space+           , Text "MA"+           , Space+           , Text "001)"+           , Space+           , HardBreak+           , Strong+               [ Text "Alle"+               , Space+               , Text "Antworten"+               , Space+               , Text "sind"+               , Space+               , Text "zu"+               , Space+               , Text "beweisen"+               , Text "."+               ]+           , ParBreak+           ]+       ])+, ParBreak+, Strong [ Text "1" , Text "." , Space , Text "Aufgabe" ]+, Space+, Code+    "typ/coma-00.typ"+    ( line 18 , column 15 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, Space+, Text "("+, Text "1"+, Space+, Text "+"+, Space+, Text "1"+, Space+, Text "+"+, Space+, Text "2"+, Space+, Text "Punkte)"+, ParBreak+, Text "Ein"+, Space+, Emph [ Text "Bin\228rbaum" ]+, Space+, Text "ist"+, Space+, Text "ein"+, Space+, Text "Wurzelbaum,"+, Space+, Text "in"+, Space+, Text "dem"+, Space+, Text "jeder"+, Space+, Text "Knoten"+, Space+, Text "\8804"+, Space+, Text "2"+, Space+, Text "Kinder"+, Space+, Text "hat"+, Text "."+, SoftBreak+, Text "Die"+, Space+, Text "Tiefe"+, Space+, Text "eines"+, Space+, Text "Knotens"+, Space+, Emph [ Text "v" ]+, Space+, Text "ist"+, Space+, Text "die"+, Space+, Text "L\228nge"+, Space+, Text "des"+, Space+, Text "eindeutigen"+, Space+, Text "Weges"+, Space+, Text "von"+, Space+, Text "der"+, Space+, Text "Wurzel"+, SoftBreak+, Text "zu"+, Space+, Emph [ Text "v" ]+, Text ","+, Space+, Text "und"+, Space+, Text "die"+, Space+, Text "H\246he"+, Space+, Text "von"+, Space+, Emph [ Text "v" ]+, Space+, Text "ist"+, Space+, Text "die"+, Space+, Text "L\228nge"+, Space+, Text "eines"+, Space+, Text "l\228ngsten"+, Space+, Text "("+, Text "absteigenden)"+, Space+, Text "Weges"+, SoftBreak+, Text "von"+, Space+, Emph [ Text "v" ]+, Space+, Text "zu"+, Space+, Text "einem"+, Space+, Text "Blatt"+, Text "."+, Space+, Text "Die"+, Space+, Text "H\246he"+, Space+, Text "des"+, Space+, Text "Baumes"+, Space+, Text "ist"+, Space+, Text "die"+, Space+, Text "H\246he"+, Space+, Text "der"+, Space+, Text "Wurzel"+, Text "."+, ParBreak+, Code+    "typ/coma-00.typ"+    ( line 25 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/graph.png"))+              , KeyValArg (Identifier "width") (Literal (Numeric 75.0 Percent))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 strong(body: text(body: [Technische Universität Berlin])), +                 text(body: [ ]), +                 h(amount: 1.0fr), +                 text(body: [ ]), +                 strong(body: text(body: [WiSe 2019/2020])), +                 text(body: [ ]), +                 linebreak(), +                 strong(body: text(body: [Fakultät II, Institut for Mathematik])), +                 text(body: [ ]), +                 h(amount: 1.0fr), +                 text(body: [ Woche 3 ]), +                 linebreak(), +                 text(body: [Sekretariat MA ]), +                 linebreak(), +                 text(body: [Dr. Max Mustermann ]), +                 linebreak(), +                 text(body: [Ola Nordmann, John Doe]), +                 parbreak(), +                 v(amount: 3.0mm), +                 text(body: [+]), +                 align(alignment: center, +                       body: { text(body: [+]), +                               text(body: [+]), +                               text(body: strong(body: text(body: [3. Übungsblatt Computerorientierte Mathematik II])), +                                    size: 1.2em), +                               text(body: [ ]), +                               linebreak(), +                               strong(body: text(body: [Abgabe: 03.05.2019])), +                               text(body: [ (bis 10:10 Uhr in MA 001) ]), +                               linebreak(), +                               strong(body: text(body: [Alle Antworten sind zu beweisen.])), +                               parbreak() }), +                 parbreak(), +                 strong(body: text(body: [1. Aufgabe])), +                 text(body: [ ]), +                 h(amount: 1.0fr), +                 text(body: [ (1 + 1 + 2 Punkte)]), +                 parbreak(), +                 text(body: [Ein ]), +                 emph(body: text(body: [Binärbaum])), +                 text(body: [ ist ein Wurzelbaum, in dem jeder Knoten ≤ 2 Kinder hat.+Die Tiefe eines Knotens ]), +                 emph(body: text(body: [v])), +                 text(body: [ ist die Länge des eindeutigen Weges von der Wurzel+zu ]), +                 emph(body: text(body: [v])), +                 text(body: [, und die Höhe von ]), +                 emph(body: text(body: [v])), +                 text(body: [ ist die Länge eines längsten (absteigenden) Weges+von ]), +                 emph(body: text(body: [v])), +                 text(body: [ zu einem Blatt. Die Höhe des Baumes ist die Höhe der Wurzel.]), +                 parbreak(), +                 align(alignment: center, +                       body: image(path: "/graph.png", +                                   width: 75%)), +                 parbreak() })
+ test/typ/compiler/array-00.out view
@@ -0,0 +1,100 @@+--- parse tree ---+[ Code+    "typ/compiler/array-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/array-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 150.0 Pt)) ])+, ParBreak+, Comment+, Code "typ/compiler/array-00.typ" ( line 7 , column 2 ) (Array [])+, ParBreak+, Comment+, Code+    "typ/compiler/array-00.typ"+    ( line 10 , column 2 )+    (Literal (Int 1))+, ParBreak+, Comment+, Code+    "typ/compiler/array-00.typ"+    ( line 13 , column 2 )+    (Array [ Reg (Negated (Literal (Int 1))) ])+, ParBreak+, Comment+, Code+    "typ/compiler/array-00.typ"+    ( line 16 , column 2 )+    (Array+       [ Reg (Literal (Boolean True)) , Reg (Literal (Boolean False)) ])+, ParBreak+, Comment+, Code+    "typ/compiler/array-00.typ"+    ( line 19 , column 2 )+    (Array+       [ Reg (Literal (String "1"))+       , Reg+           (FuncCall+              (Ident (Identifier "rgb")) [ NormalArg (Literal (String "002")) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [()]), +                 parbreak(), +                 text(body: [1]), +                 parbreak(), +                 text(body: [(-1)]), +                 parbreak(), +                 text(body: [(true, false)]), +                 parbreak(), +                 text(body: [("1", rgb(0%,0%,0%,100%))]), +                 parbreak() })
+ test/typ/compiler/array-01.out view
@@ -0,0 +1,79 @@+--- parse tree ---+[ Code+    "typ/compiler/array-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall (FieldAccess (Ident (Identifier "len")) (Array [])) [])+       , NormalArg (Literal (Int 0))+       ])+, SoftBreak+, Code+    "typ/compiler/array-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "len"))+                 (Array+                    [ Reg (Literal (String "A"))+                    , Reg (Literal (String "B"))+                    , Reg (Literal (String "C"))+                    ]))+              [])+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-02.out view
@@ -0,0 +1,80 @@+--- parse tree ---+[ Code+    "typ/compiler/array-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-02.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "array")))+              (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])+          , Assign+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "at")) (Ident (Identifier "array")))+                 [ NormalArg (Literal (Int 1)) ])+              (Plus+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "at")) (Ident (Identifier "array")))+                    [ NormalArg (Literal (Int 1)) ])+                 (Plus+                    (Literal (Int 5))+                    (FuncCall+                       (FieldAccess+                          (Ident (Identifier "at")) (Ident (Identifier "array")))+                       [ NormalArg (Literal (Int 0)) ])))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "array"))+              , NormalArg+                  (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 8)) ])+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-03.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/compiler/array-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-03.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "array")))+              (Array+                 [ Reg (Literal (Int 1))+                 , Reg (Literal (Int 2))+                 , Reg (Literal (Int 3))+                 ])+          , Assign+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "first")) (Ident (Identifier "array")))+                 [])+              (Literal (Int 7))+          , Assign+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "at")) (Ident (Identifier "array")))+                 [ NormalArg (Literal (Int 1)) ])+              (Times+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "at")) (Ident (Identifier "array")))+                    [ NormalArg (Literal (Int 1)) ])+                 (Literal (Int 8)))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "array"))+              , NormalArg+                  (Array+                     [ Reg (Literal (Int 7))+                     , Reg (Literal (Int 16))+                     , Reg (Literal (Int 3))+                     ])+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-06.out view
@@ -0,0 +1,91 @@+--- parse tree ---+[ Code+    "typ/compiler/array-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-06.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "at"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    ]))+              [ NormalArg (Literal (Int 2))+              , KeyValArg (Identifier "default") (Literal (Int 5))+              ])+       , NormalArg (Literal (Int 3))+       ])+, SoftBreak+, Code+    "typ/compiler/array-06.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "at"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    ]))+              [ NormalArg (Literal (Int 3))+              , KeyValArg (Identifier "default") (Literal (Int 5))+              ])+       , NormalArg (Literal (Int 5))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-09.out view
@@ -0,0 +1,112 @@+--- parse tree ---+[ Code+    "typ/compiler/array-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-09.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "array")))+              (Array+                 [ Reg (Literal (Int 1))+                 , Reg (Literal (Int 2))+                 , Reg (Literal (Int 3))+                 , Reg (Literal (Int 4))+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "at")) (Ident (Identifier "array")))+                     [ NormalArg (Literal (Int 0)) ])+              , NormalArg (Literal (Int 1))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "at")) (Ident (Identifier "array")))+                     [ NormalArg (Negated (Literal (Int 1))) ])+              , NormalArg (Literal (Int 4))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "at")) (Ident (Identifier "array")))+                     [ NormalArg (Negated (Literal (Int 2))) ])+              , NormalArg (Literal (Int 3))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "at")) (Ident (Identifier "array")))+                     [ NormalArg (Negated (Literal (Int 3))) ])+              , NormalArg (Literal (Int 2))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "at")) (Ident (Identifier "array")))+                     [ NormalArg (Negated (Literal (Int 4))) ])+              , NormalArg (Literal (Int 1))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-10.out view
@@ -0,0 +1,119 @@+--- parse tree ---+[ Code+    "typ/compiler/array-10.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-10.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-10.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-10.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "first")) (Array [ Reg (Literal (Int 1)) ]))+              [])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/array-10.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "last")) (Array [ Reg (Literal (Int 2)) ]))+              [])+       , NormalArg (Literal (Int 2))+       ])+, SoftBreak+, Code+    "typ/compiler/array-10.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "first"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    ]))+              [])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/array-10.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "last"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    ]))+              [])+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-11.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-12.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-13.out view
@@ -0,0 +1,118 @@+--- parse tree ---+[ Code+    "typ/compiler/array-13.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-13.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-13.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-13.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "tasks")))+              (Dict+                 [ Reg+                     ( Ident (Identifier "a")+                     , Array+                         [ Reg (Literal (Int 1))+                         , Reg (Literal (Int 2))+                         , Reg (Literal (Int 3))+                         ]+                     )+                 , Reg+                     ( Ident (Identifier "b")+                     , Array+                         [ Reg (Literal (Int 4))+                         , Reg (Literal (Int 5))+                         , Reg (Literal (Int 6))+                         ]+                     )+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "pop"))+                        (FuncCall+                           (FieldAccess+                              (Ident (Identifier "at")) (Ident (Identifier "tasks")))+                           [ NormalArg (Literal (String "a")) ]))+                     [])+              , NormalArg (Literal (Int 3))+              ]+          , FuncCall+              (FieldAccess+                 (Ident (Identifier "push"))+                 (FieldAccess+                    (Ident (Identifier "b")) (Ident (Identifier "tasks"))))+              [ NormalArg (Literal (Int 7)) ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FieldAccess (Ident (Identifier "a")) (Ident (Identifier "tasks")))+              , NormalArg+                  (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "at")) (Ident (Identifier "tasks")))+                     [ NormalArg (Literal (String "b")) ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Int 4))+                     , Reg (Literal (Int 5))+                     , Reg (Literal (Int 6))+                     , Reg (Literal (Int 7))+                     ])+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-14.out view
@@ -0,0 +1,93 @@+--- parse tree ---+[ Code+    "typ/compiler/array-14.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-14.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-14.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-14.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "array")))+              (Array+                 [ Reg (Literal (Int 0))+                 , Reg (Literal (Int 1))+                 , Reg (Literal (Int 2))+                 , Reg (Literal (Int 4))+                 , Reg (Literal (Int 5))+                 ])+          , FuncCall+              (FieldAccess+                 (Ident (Identifier "insert")) (Ident (Identifier "array")))+              [ NormalArg (Literal (Int 3)) , NormalArg (Literal (Int 3)) ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "array"))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "range")) [ NormalArg (Literal (Int 6)) ])+              ]+          , FuncCall+              (FieldAccess+                 (Ident (Identifier "remove")) (Ident (Identifier "array")))+              [ NormalArg (Literal (Int 1)) ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "array"))+              , NormalArg+                  (Array+                     [ Reg (Literal (Int 0))+                     , Reg (Literal (Int 2))+                     , Reg (Literal (Int 3))+                     , Reg (Literal (Int 4))+                     , Reg (Literal (Int 5))+                     ])+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [1]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-15.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-16.out view
@@ -0,0 +1,234 @@+--- parse tree ---+[ Code+    "typ/compiler/array-16.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-16.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-16.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-16.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "slice"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    , Reg (Literal (Int 4))+                    ]))+              [ NormalArg (Literal (Int 2)) ])+       , NormalArg+           (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 4)) ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-16.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "slice"))+                 (FuncCall+                    (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ]))+              [ NormalArg (Literal (Int 2)) , NormalArg (Literal (Int 6)) ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              , Reg (Literal (Int 4))+              , Reg (Literal (Int 5))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-16.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "slice"))+                 (FuncCall+                    (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ]))+              [ NormalArg (Literal (Int 4))+              , KeyValArg (Identifier "count") (Literal (Int 3))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 4))+              , Reg (Literal (Int 5))+              , Reg (Literal (Int 6))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-16.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "slice"))+                 (FuncCall+                    (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ]))+              [ NormalArg (Negated (Literal (Int 5)))+              , KeyValArg (Identifier "count") (Literal (Int 2))+              ])+       , NormalArg+           (Array [ Reg (Literal (Int 5)) , Reg (Literal (Int 6)) ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-16.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "slice"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    ]))+              [ NormalArg (Literal (Int 2))+              , NormalArg (Negated (Literal (Int 2)))+              ])+       , NormalArg (Array [])+       ])+, SoftBreak+, Code+    "typ/compiler/array-16.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "slice"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    ]))+              [ NormalArg (Negated (Literal (Int 2)))+              , NormalArg (Literal (Int 2))+              ])+       , NormalArg (Array [ Reg (Literal (Int 2)) ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-16.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "slice"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    ]))+              [ NormalArg (Negated (Literal (Int 3)))+              , NormalArg (Literal (Int 2))+              ])+       , NormalArg+           (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-16.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "join"))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "slice"))+                       (FuncCall+                          (FieldAccess+                             (Ident (Identifier "split")) (Literal (String "ABCD")))+                          [ NormalArg (Literal (String "")) ]))+                    [ NormalArg (Literal (Int 1))+                    , NormalArg (Negated (Literal (Int 1)))+                    ]))+              [ NormalArg (Literal (String "-")) ])+       , NormalArg (Literal (String "A-B-C-D"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-17.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-18.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-19.out view
@@ -0,0 +1,127 @@+--- parse tree ---+[ Code+    "typ/compiler/array-19.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-19.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-19.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-19.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "position"))+                 (Array+                    [ Reg (Literal (String "Hi"))+                    , Reg (Literal (String "\10084\65039"))+                    , Reg (Literal (String "Love"))+                    ]))+              [ NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "s") ]+                     (Equals+                        (Ident (Identifier "s")) (Literal (String "\10084\65039"))))+              ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/array-19.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "position"))+                 (Array+                    [ Reg (Literal (String "Bye"))+                    , Reg (Literal (String "\128152"))+                    , Reg (Literal (String "Apart"))+                    ]))+              [ NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "s") ]+                     (Equals+                        (Ident (Identifier "s")) (Literal (String "\10084\65039"))))+              ])+       , NormalArg (Literal None)+       ])+, SoftBreak+, Code+    "typ/compiler/array-19.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "position"))+                 (Array+                    [ Reg (Literal (String "A"))+                    , Reg (Literal (String "B"))+                    , Reg (Literal (String "CDEF"))+                    , Reg (Literal (String "G"))+                    ]))+              [ NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "v") ]+                     (GreaterThan+                        (FuncCall+                           (FieldAccess (Ident (Identifier "len")) (Ident (Identifier "v")))+                           [])+                        (Literal (Int 2))))+              ])+       , NormalArg (Literal (Int 2))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-20.out view
@@ -0,0 +1,121 @@+--- parse tree ---+[ Code+    "typ/compiler/array-20.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-20.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-20.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-20.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "filter")) (Array []))+              [ NormalArg+                  (FieldAccess+                     (Ident (Identifier "even")) (Ident (Identifier "calc")))+              ])+       , NormalArg (Array [])+       ])+, SoftBreak+, Code+    "typ/compiler/array-20.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "filter"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    , Reg (Literal (Int 4))+                    ]))+              [ NormalArg+                  (FieldAccess+                     (Ident (Identifier "even")) (Ident (Identifier "calc")))+              ])+       , NormalArg+           (Array [ Reg (Literal (Int 2)) , Reg (Literal (Int 4)) ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-20.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "filter"))+                 (Array+                    [ Reg (Literal (Int 7))+                    , Reg (Literal (Int 3))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 5))+                    , Reg (Literal (Int 1))+                    ]))+              [ NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "x") ]+                     (LessThan (Ident (Identifier "x")) (Literal (Int 5))))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 3))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 1))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-21.out view
@@ -0,0 +1,86 @@+--- parse tree ---+[ Code+    "typ/compiler/array-21.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-21.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-21.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-21.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "map")) (Array []))+              [ NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "x") ]+                     (Times (Ident (Identifier "x")) (Literal (Int 2))))+              ])+       , NormalArg (Array [])+       ])+, SoftBreak+, Code+    "typ/compiler/array-21.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "map"))+                 (Array [ Reg (Literal (Int 2)) , Reg (Literal (Int 3)) ]))+              [ NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "x") ]+                     (Times (Ident (Identifier "x")) (Literal (Int 2))))+              ])+       , NormalArg+           (Array [ Reg (Literal (Int 4)) , Reg (Literal (Int 6)) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-22.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/compiler/array-22.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-22.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-22.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-22.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "fold")) (Array []))+              [ NormalArg (Literal (String "hi"))+              , NormalArg (Ident (Identifier "grid"))+              ])+       , NormalArg (Literal (String "hi"))+       ])+, SoftBreak+, Code+    "typ/compiler/array-22.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "fold"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    , Reg (Literal (Int 4))+                    ]))+              [ NormalArg (Literal (Int 0))+              , NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "s") , NormalParam (Identifier "x") ]+                     (Plus (Ident (Identifier "s")) (Ident (Identifier "x"))))+              ])+       , NormalArg (Literal (Int 10))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-23.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-24.out view
@@ -0,0 +1,96 @@+--- parse tree ---+[ Code+    "typ/compiler/array-24.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-24.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-24.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-24.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "sum")) (Array []))+              [ KeyValArg (Identifier "default") (Literal (Int 0)) ])+       , NormalArg (Literal (Int 0))+       ])+, SoftBreak+, Code+    "typ/compiler/array-24.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "sum")) (Array []))+              [ KeyValArg (Identifier "default") (Block (Content [])) ])+       , NormalArg (Block (Content []))+       ])+, SoftBreak+, Code+    "typ/compiler/array-24.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "sum"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    ]))+              [])+       , NormalArg (Literal (Int 6))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-25.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-26.out view
@@ -0,0 +1,115 @@+--- parse tree ---+[ Code+    "typ/compiler/array-26.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-26.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-26.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-26.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "product")) (Array []))+              [ KeyValArg (Identifier "default") (Literal (Int 0)) ])+       , NormalArg (Literal (Int 0))+       ])+, SoftBreak+, Code+    "typ/compiler/array-26.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "product")) (Array []))+              [ KeyValArg (Identifier "default") (Block (Content [])) ])+       , NormalArg (Block (Content []))+       ])+, SoftBreak+, Code+    "typ/compiler/array-26.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "product"))+                 (Array+                    [ Reg (Block (Content [ Text "ab" ])) , Reg (Literal (Int 3)) ]))+              [])+       , NormalArg+           (Times (Block (Content [ Text "ab" ])) (Literal (Int 3)))+       ])+, SoftBreak+, Code+    "typ/compiler/array-26.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "product"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    ]))+              [])+       , NormalArg (Literal (Int 6))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-27.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-28.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/compiler/array-28.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-28.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-28.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-28.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "rev"))+                 (FuncCall+                    (Ident (Identifier "range")) [ NormalArg (Literal (Int 3)) ]))+              [])+       , NormalArg+           (Array+              [ Reg (Literal (Int 2))+              , Reg (Literal (Int 1))+              , Reg (Literal (Int 0))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-29.out view
@@ -0,0 +1,120 @@+--- parse tree ---+[ Code+    "typ/compiler/array-29.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-29.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-29.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-29.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall (FieldAccess (Ident (Identifier "join")) (Array [])) [])+       , NormalArg (Literal None)+       ])+, SoftBreak+, Code+    "typ/compiler/array-29.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "join")) (Array [ Reg (Literal (Int 1)) ]))+              [])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/array-29.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "join"))+                 (Array+                    [ Reg (Literal (String "a"))+                    , Reg (Literal (String "b"))+                    , Reg (Literal (String "c"))+                    ]))+              [])+       , NormalArg (Literal (String "abc"))+       ])+, SoftBreak+, Code+    "typ/compiler/array-29.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Plus+              (Plus+                 (Literal (String "("))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "join"))+                       (Array+                          [ Reg (Literal (String "a"))+                          , Reg (Literal (String "b"))+                          , Reg (Literal (String "c"))+                          ]))+                    [ NormalArg (Literal (String ", ")) ]))+              (Literal (String ")")))+       , NormalArg (Literal (String "(a, b, c)"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-30.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-31.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-32.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/compiler/array-32.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-32.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-32.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/array-32.typ"+    ( line 4 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "join"))+          (Array+             [ Reg (Block (Content [ Text "One" ]))+             , Reg (Block (Content [ Text "Two" ]))+             , Reg (Block (Content [ Text "Three" ]))+             ]))+       [ NormalArg (Block (Content [ Text "," , Space ]))+       , KeyValArg+           (Identifier "last")+           (Block (Content [ Space , Text "and" , Space ]))+       ])+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [One]), +                 text(body: [, ]), +                 text(body: [Two]), +                 text(body: [ and ]), +                 text(body: [Three]), +                 text(body: [.]), +                 parbreak() })
+ test/typ/compiler/array-33.out view
@@ -0,0 +1,321 @@+--- parse tree ---+[ Code+    "typ/compiler/array-33.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-33.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-33.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-33.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "sorted")) (Array [])) [])+       , NormalArg (Array [])+       ])+, SoftBreak+, Code+    "typ/compiler/array-33.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "sorted")) (Array []))+              [ KeyValArg+                  (Identifier "key")+                  (FuncExpr+                     [ NormalParam (Identifier "x") ] (Ident (Identifier "x")))+              ])+       , NormalArg (Array [])+       ])+, SoftBreak+, Code+    "typ/compiler/array-33.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "sorted"))+                 (Times+                    (Array+                       [ Reg (Literal (Boolean True)) , Reg (Literal (Boolean False)) ])+                    (Literal (Int 10))))+              [])+       , NormalArg+           (Plus+              (Times+                 (Array [ Reg (Literal (Boolean False)) ]) (Literal (Int 10)))+              (Times+                 (Array [ Reg (Literal (Boolean True)) ]) (Literal (Int 10))))+       ])+, SoftBreak+, Code+    "typ/compiler/array-33.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "sorted"))+                 (Array+                    [ Reg (Literal (String "it"))+                    , Reg (Literal (String "the"))+                    , Reg (Literal (String "hi"))+                    , Reg (Literal (String "text"))+                    ]))+              [])+       , NormalArg+           (Array+              [ Reg (Literal (String "hi"))+              , Reg (Literal (String "it"))+              , Reg (Literal (String "text"))+              , Reg (Literal (String "the"))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-33.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "sorted"))+                 (Array+                    [ Reg (Literal (String "I"))+                    , Reg (Literal (String "the"))+                    , Reg (Literal (String "hi"))+                    , Reg (Literal (String "text"))+                    ]))+              [ KeyValArg+                  (Identifier "key")+                  (FuncExpr+                     [ NormalParam (Identifier "x") ] (Ident (Identifier "x")))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (String "I"))+              , Reg (Literal (String "hi"))+              , Reg (Literal (String "text"))+              , Reg (Literal (String "the"))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-33.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "sorted"))+                 (Array+                    [ Reg (Literal (String "I"))+                    , Reg (Literal (String "the"))+                    , Reg (Literal (String "hi"))+                    , Reg (Literal (String "text"))+                    ]))+              [ KeyValArg+                  (Identifier "key")+                  (FuncExpr+                     [ NormalParam (Identifier "x") ]+                     (FuncCall+                        (FieldAccess (Ident (Identifier "len")) (Ident (Identifier "x")))+                        []))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (String "I"))+              , Reg (Literal (String "hi"))+              , Reg (Literal (String "the"))+              , Reg (Literal (String "text"))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-33.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "sorted"))+                 (Array+                    [ Reg (Literal (Int 2))+                    , Reg (Literal (Int 1))+                    , Reg (Literal (Int 3))+                    , Reg (Literal (Int 10))+                    , Reg (Literal (Int 5))+                    , Reg (Literal (Int 8))+                    , Reg (Literal (Int 6))+                    , Reg (Negated (Literal (Int 7)))+                    , Reg (Literal (Int 2))+                    ]))+              [])+       , NormalArg+           (Array+              [ Reg (Negated (Literal (Int 7)))+              , Reg (Literal (Int 1))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              , Reg (Literal (Int 5))+              , Reg (Literal (Int 6))+              , Reg (Literal (Int 8))+              , Reg (Literal (Int 10))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-33.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "sorted"))+                 (Array+                    [ Reg (Literal (Int 2))+                    , Reg (Literal (Int 1))+                    , Reg (Literal (Int 3))+                    , Reg (Negated (Literal (Int 10)))+                    , Reg (Negated (Literal (Int 5)))+                    , Reg (Literal (Int 8))+                    , Reg (Literal (Int 6))+                    , Reg (Negated (Literal (Int 7)))+                    , Reg (Literal (Int 2))+                    ]))+              [ KeyValArg+                  (Identifier "key")+                  (FuncExpr+                     [ NormalParam (Identifier "x") ] (Ident (Identifier "x")))+              ])+       , NormalArg+           (Array+              [ Reg (Negated (Literal (Int 10)))+              , Reg (Negated (Literal (Int 7)))+              , Reg (Negated (Literal (Int 5)))+              , Reg (Literal (Int 1))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              , Reg (Literal (Int 6))+              , Reg (Literal (Int 8))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-33.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "sorted"))+                 (Array+                    [ Reg (Literal (Int 2))+                    , Reg (Literal (Int 1))+                    , Reg (Literal (Int 3))+                    , Reg (Negated (Literal (Int 10)))+                    , Reg (Negated (Literal (Int 5)))+                    , Reg (Literal (Int 8))+                    , Reg (Literal (Int 6))+                    , Reg (Negated (Literal (Int 7)))+                    , Reg (Literal (Int 2))+                    ]))+              [ KeyValArg+                  (Identifier "key")+                  (FuncExpr+                     [ NormalParam (Identifier "x") ]+                     (Times (Ident (Identifier "x")) (Ident (Identifier "x"))))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 1))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              , Reg (Negated (Literal (Int 5)))+              , Reg (Literal (Int 6))+              , Reg (Negated (Literal (Int 7)))+              , Reg (Literal (Int 8))+              , Reg (Negated (Literal (Int 10)))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-34.out view
@@ -0,0 +1,202 @@+--- parse tree ---+[ Code+    "typ/compiler/array-34.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/array-34.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/array-34.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/array-34.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "zip")) (Array []))+              [ NormalArg (Array []) ])+       , NormalArg (Array [])+       ])+, SoftBreak+, Code+    "typ/compiler/array-34.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "zip")) (Array [ Reg (Literal (Int 1)) ]))+              [ NormalArg (Array []) ])+       , NormalArg (Array [])+       ])+, SoftBreak+, Code+    "typ/compiler/array-34.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "zip")) (Array [ Reg (Literal (Int 1)) ]))+              [ NormalArg (Array [ Reg (Literal (Int 2)) ]) ])+       , NormalArg+           (Array+              [ Reg (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]) ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-34.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "zip"))+                 (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))+              [ NormalArg+                  (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 4)) ])+              ])+       , NormalArg+           (Array+              [ Reg (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 3)) ])+              , Reg (Array [ Reg (Literal (Int 2)) , Reg (Literal (Int 4)) ])+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-34.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "zip"))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    , Reg (Literal (Int 4))+                    ]))+              [ NormalArg+                  (Array [ Reg (Literal (Int 5)) , Reg (Literal (Int 6)) ])+              ])+       , NormalArg+           (Array+              [ Reg (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 5)) ])+              , Reg (Array [ Reg (Literal (Int 2)) , Reg (Literal (Int 6)) ])+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-34.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "zip"))+                 (Array+                    [ Reg (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])+                    , Reg (Literal (Int 3))+                    ]))+              [ NormalArg+                  (Array [ Reg (Literal (Int 4)) , Reg (Literal (Int 5)) ])+              ])+       , NormalArg+           (Array+              [ Reg+                  (Array+                     [ Reg (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])+                     , Reg (Literal (Int 4))+                     ])+              , Reg (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 5)) ])+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/array-34.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "zip"))+                 (Array [ Reg (Literal (Int 1)) , Reg (Literal (String "hi")) ]))+              [ NormalArg+                  (Array+                     [ Reg (Literal (Boolean True)) , Reg (Literal (Boolean False)) ])+              ])+       , NormalArg+           (Array+              [ Reg+                  (Array [ Reg (Literal (Int 1)) , Reg (Literal (Boolean True)) ])+              , Reg+                  (Array+                     [ Reg (Literal (String "hi")) , Reg (Literal (Boolean False)) ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/array-35.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-36.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-37.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/array-38.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/bench-00.out view
@@ -0,0 +1,476 @@+--- parse tree ---+[ Code+    "typ/compiler/bench-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/bench-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/bench-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/compiler/bench-00.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 450.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 1.0 Cm))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/bench-00.typ"+    ( line 8 , column 2 )+    (Let+       (BasicBind (Just (Identifier "city"))) (Literal (String "Berlin")))+, ParBreak+, Comment+, Comment+, Comment+, Code+    "typ/compiler/bench-00.typ"+    ( line 13 , column 2 )+    (Let+       (BasicBind (Just (Identifier "university")))+       (Block+          (Content+             [ Strong+                 [ Text "Technische"+                 , Space+                 , Text "Universit\228t"+                 , Space+                 , Code+                     "typ/compiler/bench-00.typ"+                     ( line 13 , column 45 )+                     (Ident (Identifier "city"))+                 ]+             ])))+, SoftBreak+, Code+    "typ/compiler/bench-00.typ"+    ( line 14 , column 2 )+    (Let+       (BasicBind (Just (Identifier "faculty")))+       (Block+          (Content+             [ Strong+                 [ Text "Fakult\228t"+                 , Space+                 , Text "II,"+                 , Space+                 , Text "Institut"+                 , Space+                 , Text "for"+                 , Space+                 , Text "Mathematik"+                 ]+             ])))+, ParBreak+, Comment+, Comment+, Comment+, Code+    "typ/compiler/bench-00.typ"+    ( line 19 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ BlockArg+           [ SoftBreak+           , Comment+           , Space+           , Code+               "typ/compiler/bench-00.typ"+               ( line 21 , column 4 )+               (Ident (Identifier "university"))+           , Space+           , HardBreak+           , Code+               "typ/compiler/bench-00.typ"+               ( line 22 , column 4 )+               (Ident (Identifier "faculty"))+           , Space+           , HardBreak+           , Text "Sekretariat"+           , Space+           , Text "MA"+           , Space+           , HardBreak+           , Text "Dr"+           , Text "."+           , Space+           , Text "Max"+           , Space+           , Text "Mustermann"+           , Space+           , HardBreak+           , Text "Ola"+           , Space+           , Text "Nordmann,"+           , Space+           , Text "John"+           , Space+           , Text "Doe"+           , ParBreak+           ]+       ])+, SoftBreak+, Code+    "typ/compiler/bench-00.typ"+    ( line 27 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "right"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "box"))+              [ BlockArg+                  [ Strong+                      [ Text "WiSe" , Space , Text "2019" , Text "/" , Text "2020" ]+                  , Space+                  , HardBreak+                  , Text "Woche"+                  , Space+                  , Text "3"+                  ]+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/bench-00.typ"+    ( line 30 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 6.0 Mm)) ])+, ParBreak+, Comment+, Comment+, Code+    "typ/compiler/bench-00.typ"+    ( line 34 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center"))+       , BlockArg+           [ SoftBreak+           , Comment+           , Space+           , Heading+               4+               [ Text "3"+               , Text "."+               , Space+               , Text "\220bungsblatt"+               , Space+               , Text "Computerorientierte"+               , Space+               , Text "Mathematik"+               , Space+               , Text "II"+               , Space+               , Code+                   "typ/compiler/bench-00.typ"+                   ( line 36 , column 58 )+                   (FuncCall+                      (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 4.0 Mm)) ])+               ]+           , Strong+               [ Text "Abgabe"+               , Text ":"+               , Space+               , Text "03"+               , Text "."+               , Text "05"+               , Text "."+               , Text "2019"+               ]+           , Space+           , Text "("+           , Text "bis"+           , Space+           , Text "10"+           , Text ":"+           , Text "10"+           , Space+           , Text "Uhr"+           , Space+           , Text "in"+           , Space+           , Text "MA"+           , Space+           , Text "001)"+           , Space+           , Code+               "typ/compiler/bench-00.typ"+               ( line 37 , column 51 )+               (FuncCall+                  (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 4.0 Mm)) ])+           , SoftBreak+           , Strong+               [ Text "Alle"+               , Space+               , Text "Antworten"+               , Space+               , Text "sind"+               , Space+               , Text "zu"+               , Space+               , Text "beweisen"+               , Text "."+               ]+           , ParBreak+           ]+       ])+, ParBreak+, Strong [ Text "1" , Text "." , Space , Text "Aufgabe" ]+, Space+, Code+    "typ/compiler/bench-00.typ"+    ( line 41 , column 15 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "right"))+       , BlockArg+           [ Text "("+           , Text "1"+           , Space+           , Text "+"+           , Space+           , Text "1"+           , Space+           , Text "+"+           , Space+           , Text "2"+           , Space+           , Text "Punkte)"+           ]+       ])+, ParBreak+, Text "Ein"+, Space+, Emph [ Text "Bin\228rbaum" ]+, Space+, Text "ist"+, Space+, Text "ein"+, Space+, Text "Wurzelbaum,"+, Space+, Text "in"+, Space+, Text "dem"+, Space+, Text "jeder"+, Space+, Text "Knoten"+, Space+, Text "\8804"+, Space+, Text "2"+, Space+, Text "Kinder"+, Space+, Text "hat"+, Text "."+, SoftBreak+, Text "Die"+, Space+, Text "Tiefe"+, Space+, Text "eines"+, Space+, Text "Knotens"+, Space+, Emph [ Text "v" ]+, Space+, Text "ist"+, Space+, Text "die"+, Space+, Text "L\228nge"+, Space+, Text "des"+, Space+, Text "eindeutigen"+, Space+, Text "Weges"+, Space+, Text "von"+, Space+, Text "der"+, Space+, Text "Wurzel"+, SoftBreak+, Text "zu"+, Space+, Emph [ Text "v" ]+, Text ","+, Space+, Text "und"+, Space+, Text "die"+, Space+, Text "H\246he"+, Space+, Text "von"+, Space+, Emph [ Text "v" ]+, Space+, Text "ist"+, Space+, Text "die"+, Space+, Text "L\228nge"+, Space+, Text "eines"+, Space+, Text "l\228ngsten"+, Space+, Text "("+, Text "absteigenden)"+, Space+, Text "Weges"+, SoftBreak+, Text "von"+, Space+, Emph [ Text "v" ]+, Space+, Text "zu"+, Space+, Text "einem"+, Space+, Text "Blatt"+, Text "."+, Space+, Text "Die"+, Space+, Text "H\246he"+, Space+, Text "des"+, Space+, Text "Baumes"+, Space+, Text "ist"+, Space+, Text "die"+, Space+, Text "H\246he"+, Space+, Text "der"+, Space+, Text "Wurzel"+, Text "."+, ParBreak+, Code+    "typ/compiler/bench-00.typ"+    ( line 48 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 6.0 Mm)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 parbreak(), +                 text(body: [+]), +                 parbreak(), +                 box(body: { text(body: [+]), +                             text(body: [ ]), +                             strong(body: { text(body: [Technische Universität ]), +                                            text(body: [Berlin]) }), +                             text(body: [ ]), +                             linebreak(), +                             strong(body: text(body: [Fakultät II, Institut for Mathematik])), +                             text(body: [ ]), +                             linebreak(), +                             text(body: [Sekretariat MA ]), +                             linebreak(), +                             text(body: [Dr. Max Mustermann ]), +                             linebreak(), +                             text(body: [Ola Nordmann, John Doe]), +                             parbreak() }), +                 text(body: [+]), +                 align(alignment: right, +                       body: box(body: { strong(body: text(body: [WiSe 2019/2020])), +                                         text(body: [ ]), +                                         linebreak(), +                                         text(body: [Woche 3]) })), +                 parbreak(), +                 v(amount: 6.0mm), +                 parbreak(), +                 align(alignment: center, +                       body: { text(body: [+]), +                               text(body: [ ]), +                               heading(body: { text(body: [3. Übungsblatt Computerorientierte Mathematik II ]), +                                               v(amount: 4.0mm) }, +                                       level: 4), +                               strong(body: text(body: [Abgabe: 03.05.2019])), +                               text(body: [ (bis 10:10 Uhr in MA 001) ]), +                               v(amount: 4.0mm), +                               text(body: [+]), +                               strong(body: text(body: [Alle Antworten sind zu beweisen.])), +                               parbreak() }), +                 parbreak(), +                 strong(body: text(body: [1. Aufgabe])), +                 text(body: [ ]), +                 align(alignment: right, +                       body: text(body: [(1 + 1 + 2 Punkte)])), +                 parbreak(), +                 text(body: [Ein ]), +                 emph(body: text(body: [Binärbaum])), +                 text(body: [ ist ein Wurzelbaum, in dem jeder Knoten ≤ 2 Kinder hat.+Die Tiefe eines Knotens ]), +                 emph(body: text(body: [v])), +                 text(body: [ ist die Länge des eindeutigen Weges von der Wurzel+zu ]), +                 emph(body: text(body: [v])), +                 text(body: [, und die Höhe von ]), +                 emph(body: text(body: [v])), +                 text(body: [ ist die Länge eines längsten (absteigenden) Weges+von ]), +                 emph(body: text(body: [v])), +                 text(body: [ zu einem Blatt. Die Höhe des Baumes ist die Höhe der Wurzel.]), +                 parbreak(), +                 v(amount: 6.0mm), +                 parbreak() })
+ test/typ/compiler/block-00.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/compiler/block-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/block-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/block-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/compiler/block-00.typ"+    ( line 5 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "parts")))+              (Array+                 [ Reg (Literal (String "my fri"))+                 , Reg (Literal (String "end."))+                 ])+          , Block (Content [ Text "Hello," , Space ])+          , For+              (BasicBind (Just (Identifier "s")))+              (Ident (Identifier "parts"))+              (Block+                 (Content+                    [ Code+                        "typ/compiler/block-00.typ"+                        ( line 8 , column 20 )+                        (Ident (Identifier "s"))+                    ]))+          ]))+, ParBreak+, Comment+, Code+    "typ/compiler/block-00.typ"+    ( line 12 , column 2 )+    (Block+       (CodeBlock+          [ Block (Content [ Text "How" ])+          , If+              [ ( Literal (Boolean True)+                , Block (CodeBlock [ Literal (String " are") ])+                )+              ]+          , Block (Content [ Space ])+          , If+              [ ( Literal (Boolean False) , Block (Content [ Text "Nope" ]) ) ]+          , Plus (Block (Content [ Text "you" ])) (Literal (String "?"))+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [Hello, ]), +                 text(body: [my fri]), +                 text(body: [end.]), +                 parbreak(), +                 text(body: [How]), +                 text(body: [ are]), +                 text(body: [ ]), +                 text(body: [you]), +                 text(body: [?]), +                 parbreak() })
+ test/typ/compiler/block-01.out view
@@ -0,0 +1,135 @@+--- parse tree ---+[ Code+    "typ/compiler/block-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/block-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/block-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/block-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Block (CodeBlock [])) , NormalArg (Literal None) ])+, ParBreak+, Comment+, Code+    "typ/compiler/block-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Block+              (CodeBlock+                 [ Let (BasicBind (Just (Identifier "v"))) (Literal (Int 0)) ]))+       , NormalArg (Literal None)+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/block-01.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Block (CodeBlock [ Literal (String "hello") ]))+       , NormalArg (Literal (String "hello"))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/block-01.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Block+              (CodeBlock+                 [ Let (BasicBind (Just (Identifier "x"))) (Literal (String "m"))+                 , Plus (Ident (Identifier "x")) (Literal (String "y"))+                 ]))+       , NormalArg (Literal (String "my"))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/block-01.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Block+              (CodeBlock+                 [ Let (BasicBind (Just (Identifier "x"))) (Literal (Int 1))+                 , Let (BasicBind (Just (Identifier "y"))) (Literal (Int 2))+                 , Plus (Ident (Identifier "x")) (Ident (Identifier "y"))+                 ]))+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/block-01.typ"+    ( line 22 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Block+              (CodeBlock+                 [ FuncCall+                     (Ident (Identifier "type")) [ NormalArg (Literal (String "")) ]+                 , Literal None+                 ]))+       , NormalArg (Literal (String "string"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/block-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/block-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/block-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/block-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/block-06.out view
@@ -0,0 +1,87 @@+--- parse tree ---+[ Code+    "typ/compiler/block-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/block-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/block-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/block-06.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let (BasicBind (Just (Identifier "a"))) (Literal (String "a1"))+          , Block+              (CodeBlock+                 [ Let (BasicBind (Just (Identifier "a"))) (Literal (String "a2"))+                 , Block+                     (CodeBlock+                        [ FuncCall+                            (Ident (Identifier "test"))+                            [ NormalArg (Ident (Identifier "a"))+                            , NormalArg (Literal (String "a2"))+                            ]+                        , Let (BasicBind (Just (Identifier "a"))) (Literal (String "a3"))+                        , FuncCall+                            (Ident (Identifier "test"))+                            [ NormalArg (Ident (Identifier "a"))+                            , NormalArg (Literal (String "a3"))+                            ]+                        ])+                 , FuncCall+                     (Ident (Identifier "test"))+                     [ NormalArg (Ident (Identifier "a"))+                     , NormalArg (Literal (String "a2"))+                     ]+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "a"))+              , NormalArg (Literal (String "a1"))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/block-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/block-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/block-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/block-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/break-continue-00.out view
@@ -0,0 +1,110 @@+--- parse tree ---+[ Code+    "typ/compiler/break-continue-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/break-continue-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/break-continue-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/break-continue-00.typ"+    ( line 4 , column 2 )+    (Let (BasicBind (Just (Identifier "var"))) (Literal (Int 0)))+, SoftBreak+, Code+    "typ/compiler/break-continue-00.typ"+    ( line 5 , column 2 )+    (Let+       (BasicBind (Just (Identifier "error"))) (Literal (Boolean False)))+, ParBreak+, Code+    "typ/compiler/break-continue-00.typ"+    ( line 7 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ])+       (Block+          (CodeBlock+             [ Assign+                 (Ident (Identifier "var"))+                 (Plus (Ident (Identifier "var")) (Ident (Identifier "i")))+             , If+                 [ ( GreaterThan (Ident (Identifier "i")) (Literal (Int 5))+                   , Block+                       (CodeBlock+                          [ Break+                          , Assign (Ident (Identifier "error")) (Literal (Boolean True))+                          ])+                   )+                 ]+             ])))+, ParBreak+, Code+    "typ/compiler/break-continue-00.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "var"))+       , NormalArg (Literal (Int 21))+       ])+, SoftBreak+, Code+    "typ/compiler/break-continue-00.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "error"))+       , NormalArg (Literal (Boolean False))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/break-continue-01.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/compiler/break-continue-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/break-continue-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/break-continue-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/break-continue-01.typ"+    ( line 4 , column 2 )+    (Let (BasicBind (Just (Identifier "i"))) (Literal (Int 0)))+, SoftBreak+, Code+    "typ/compiler/break-continue-01.typ"+    ( line 5 , column 2 )+    (Let+       (BasicBind (Just (Identifier "x")))+       (While+          (Literal (Boolean True))+          (Block+             (CodeBlock+                [ Assign+                    (Ident (Identifier "i"))+                    (Plus (Ident (Identifier "i")) (Literal (Int 1)))+                , FuncCall+                    (Ident (Identifier "str")) [ NormalArg (Ident (Identifier "i")) ]+                , If+                    [ ( GreaterThanOrEqual (Ident (Identifier "i")) (Literal (Int 5))+                      , Block (CodeBlock [ Literal (String ".") , Break ])+                      )+                    ]+                ]))))+, ParBreak+, Code+    "typ/compiler/break-continue-01.typ"+    ( line 14 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (String "12345."))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/break-continue-02.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/compiler/break-continue-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/break-continue-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/break-continue-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/break-continue-02.typ"+    ( line 4 , column 2 )+    (Let (BasicBind (Just (Identifier "i"))) (Literal (Int 0)))+, SoftBreak+, Code+    "typ/compiler/break-continue-02.typ"+    ( line 5 , column 2 )+    (Let (BasicBind (Just (Identifier "x"))) (Literal (Int 0)))+, ParBreak+, Code+    "typ/compiler/break-continue-02.typ"+    ( line 7 , column 2 )+    (While+       (LessThan (Ident (Identifier "x")) (Literal (Int 8)))+       (Block+          (CodeBlock+             [ Assign+                 (Ident (Identifier "i"))+                 (Plus (Ident (Identifier "i")) (Literal (Int 1)))+             , If+                 [ ( Equals+                       (FuncCall+                          (FieldAccess+                             (Ident (Identifier "rem")) (Ident (Identifier "calc")))+                          [ NormalArg (Ident (Identifier "i"))+                          , NormalArg (Literal (Int 3))+                          ])+                       (Literal (Int 0))+                   , Block (CodeBlock [ Continue ])+                   )+                 ]+             , Assign+                 (Ident (Identifier "x"))+                 (Plus (Ident (Identifier "x")) (Ident (Identifier "i")))+             ])))+, ParBreak+, Comment+, Code+    "typ/compiler/break-continue-02.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (Int 12))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 parbreak(), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/break-continue-03.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/compiler/break-continue-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/break-continue-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/break-continue-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/break-continue-03.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "x")))+       (For+          (BasicBind (Just (Identifier "i")))+          (FuncCall+             (Ident (Identifier "range")) [ NormalArg (Literal (Int 5)) ])+          (Block+             (CodeBlock+                [ Literal (String "a")+                , If+                    [ ( Equals+                          (FuncCall+                             (FieldAccess+                                (Ident (Identifier "rem")) (Ident (Identifier "calc")))+                             [ NormalArg (Ident (Identifier "i"))+                             , NormalArg (Literal (Int 3))+                             ])+                          (Literal (Int 0))+                      , Block (CodeBlock [ Literal (String "_") , Continue ])+                      )+                    ]+                , FuncCall+                    (Ident (Identifier "str")) [ NormalArg (Ident (Identifier "i")) ]+                ]))))+, ParBreak+, Code+    "typ/compiler/break-continue-03.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (String "a_a1a2a_a4"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/break-continue-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/break-continue-05.out view
@@ -0,0 +1,86 @@+--- parse tree ---+[ Code+    "typ/compiler/break-continue-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/break-continue-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/break-continue-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/break-continue-05.typ"+    ( line 3 , column 2 )+    (LetFunc+       (Identifier "identity")+       [ NormalParam (Identifier "x") ]+       (Ident (Identifier "x")))+, SoftBreak+, Code+    "typ/compiler/break-continue-05.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "out")))+       (For+          (BasicBind (Just (Identifier "i")))+          (FuncCall+             (Ident (Identifier "range")) [ NormalArg (Literal (Int 5)) ])+          (Block+             (CodeBlock+                [ Literal (String "A")+                , FuncCall+                    (Ident (Identifier "identity"))+                    [ NormalArg (Block (CodeBlock [ Literal (String "B") , Break ])) ]+                , Literal (String "C")+                ]))))+, ParBreak+, Code+    "typ/compiler/break-continue-05.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "out"))+       , NormalArg (Literal (String "AB"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/break-continue-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/break-continue-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/break-continue-08.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/compiler/break-continue-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/break-continue-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/break-continue-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/break-continue-08.typ"+    ( line 4 , column 2 )+    (For+       (BasicBind Nothing)+       (FuncCall+          (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ])+       (Block+          (CodeBlock+             [ Block (Content [ Text "Hello" , Space ])+             , Block+                 (Content+                    [ Text "World"+                    , Space+                    , Code+                        "typ/compiler/break-continue-08.typ"+                        ( line 6 , column 11 )+                        (Block (CodeBlock [ Block (Content [ Text "\127758" ]) , Break ]))+                    ])+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Hello ]), +                 text(body: [World ]), +                 text(body: [🌎]), +                 parbreak() })
+ test/typ/compiler/break-continue-09.out view
@@ -0,0 +1,160 @@+--- parse tree ---+[ Code+    "typ/compiler/break-continue-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/break-continue-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/break-continue-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Comment+, Code+    "typ/compiler/break-continue-09.typ"+    ( line 5 , column 2 )+    (For+       (BasicBind (Just (Identifier "color")))+       (Array+          [ Reg (Ident (Identifier "red"))+          , Reg (Ident (Identifier "blue"))+          , Reg (Ident (Identifier "green"))+          , Reg (Ident (Identifier "yellow"))+          ])+       (Block+          (Content+             [ SoftBreak+             , Code+                 "typ/compiler/break-continue-09.typ"+                 ( line 6 , column 4 )+                 (Set+                    (Ident (Identifier "text"))+                    [ KeyValArg (Identifier "font") (Literal (String "Roboto")) ])+             , SoftBreak+             , Code+                 "typ/compiler/break-continue-09.typ"+                 ( line 7 , column 4 )+                 (Show+                    Nothing+                    (FuncExpr+                       [ NormalParam (Identifier "it") ]+                       (FuncCall+                          (Ident (Identifier "text"))+                          [ KeyValArg (Identifier "fill") (Ident (Identifier "color"))+                          , NormalArg (Ident (Identifier "it"))+                          ])))+             , SoftBreak+             , Code+                 "typ/compiler/break-continue-09.typ"+                 ( line 8 , column 4 )+                 (FuncCall+                    (Ident (Identifier "smallcaps"))+                    [ NormalArg+                        (If+                           [ ( Not+                                 (Equals (Ident (Identifier "color")) (Ident (Identifier "green")))+                             , Block (Content [ SoftBreak , Text "Some" , ParBreak ])+                             )+                           , ( Literal (Boolean True)+                             , Block+                                 (Content+                                    [ SoftBreak+                                    , Text "Last"+                                    , SoftBreak+                                    , Code+                                        "typ/compiler/break-continue-09.typ"+                                        ( line 12 , column 6 )+                                        Break+                                    , ParBreak+                                    ])+                             )+                           ])+                    ])+             , ParBreak+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      font: "Roboto"), +                 text(body: { text(body: [+], +                                   font: "Roboto"), +                              smallcaps(body: { text(body: [+Some], +                                                     font: "Roboto"), +                                                parbreak() }), +                              parbreak() }, +                      fill: rgb(100%,25%,21%,100%), +                      font: "Roboto"), +                 text(body: [+], +                      font: "Roboto"), +                 text(body: [+], +                      font: "Roboto"), +                 text(body: { text(body: [+], +                                   font: "Roboto"), +                              smallcaps(body: { text(body: [+Some], +                                                     font: "Roboto"), +                                                parbreak() }), +                              parbreak() }, +                      fill: rgb(0%,45%,85%,100%), +                      font: "Roboto"), +                 text(body: [+], +                      font: "Roboto"), +                 text(body: [+], +                      font: "Roboto"), +                 text(body: { text(body: [+], +                                   font: "Roboto"), +                              smallcaps(body: { text(body: [+Last+], +                                                     font: "Roboto"), +                                                parbreak() }), +                              parbreak() }, +                      fill: rgb(18%,80%,25%,100%), +                      font: "Roboto"), +                 parbreak() })
+ test/typ/compiler/break-continue-10.out view
@@ -0,0 +1,66 @@+--- parse tree ---+[ Code+    "typ/compiler/break-continue-10.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/break-continue-10.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/break-continue-10.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Comment+, Code+    "typ/compiler/break-continue-10.typ"+    ( line 5 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ])+       (Block+          (CodeBlock+             [ Block (Content [ Text "Hello" ])+             , Set+                 (Ident (Identifier "text"))+                 [ NormalArg (Ident (Identifier "blue")) , SpreadArg Break ]+             , Block (Content [ Text "Not" , Space , Text "happening" ])+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Hello]), +                 parbreak() })
+ test/typ/compiler/break-continue-11.out view
@@ -0,0 +1,113 @@+--- parse tree ---+[ Code+    "typ/compiler/break-continue-11.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/break-continue-11.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/break-continue-11.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, SoftBreak+, Code+    "typ/compiler/break-continue-11.typ"+    ( line 5 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "table"))+                 [ NormalArg+                     (Block (CodeBlock [ Block (Content [ Text "A" ]) , Break ]))+                 , NormalArg+                     (For+                        (BasicBind Nothing)+                        (FuncCall+                           (Ident (Identifier "range")) [ NormalArg (Literal (Int 3)) ])+                        (Block (Content [ Text "B" ])))+                 ]+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 table(children: (text(body: [A]), +                                  { text(body: [B]), +                                    text(body: [B]), +                                    text(body: [B]) })), +                 table(children: (text(body: [A]), +                                  { text(body: [B]), +                                    text(body: [B]), +                                    text(body: [B]) })), +                 table(children: (text(body: [A]), +                                  { text(body: [B]), +                                    text(body: [B]), +                                    text(body: [B]) })), +                 table(children: (text(body: [A]), +                                  { text(body: [B]), +                                    text(body: [B]), +                                    text(body: [B]) })), +                 table(children: (text(body: [A]), +                                  { text(body: [B]), +                                    text(body: [B]), +                                    text(body: [B]) })), +                 table(children: (text(body: [A]), +                                  { text(body: [B]), +                                    text(body: [B]), +                                    text(body: [B]) })), +                 table(children: (text(body: [A]), +                                  { text(body: [B]), +                                    text(body: [B]), +                                    text(body: [B]) })), +                 table(children: (text(body: [A]), +                                  { text(body: [B]), +                                    text(body: [B]), +                                    text(body: [B]) })), +                 table(children: (text(body: [A]), +                                  { text(body: [B]), +                                    text(body: [B]), +                                    text(body: [B]) })), +                 table(children: (text(body: [A]), +                                  { text(body: [B]), +                                    text(body: [B]), +                                    text(body: [B]) })), +                 parbreak() })
+ test/typ/compiler/call-00.out view
@@ -0,0 +1,203 @@+--- parse tree ---+[ Code+    "typ/compiler/call-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/call-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/call-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/compiler/call-00.typ"+    ( line 5 , column 2 )+    (LetFunc (Identifier "f") [] (Block (CodeBlock [])))+, SoftBreak+, Code+    "typ/compiler/call-00.typ"+    ( line 6 , column 2 )+    (Block+       (Content+          [ Code+              "typ/compiler/call-00.typ"+              ( line 6 , column 4 )+              (FuncCall (Ident (Identifier "f")) [])+          , Strong [ Text "Bold" ]+          ]))+, ParBreak+, Comment+, Code+    "typ/compiler/call-00.typ"+    ( line 9 , column 2 )+    (LetFunc+       (Identifier "f")+       [ NormalParam (Identifier "x") , NormalParam (Identifier "body") ]+       (FuncExpr+          [ NormalParam (Identifier "y") ]+          (Plus+             (Plus+                (Block+                   (Content+                      [ Code+                          "typ/compiler/call-00.typ"+                          ( line 9 , column 28 )+                          (Ident (Identifier "x"))+                      ]))+                (Ident (Identifier "body")))+             (Block+                (Content+                   [ Code+                       "typ/compiler/call-00.typ"+                       ( line 9 , column 42 )+                       (Ident (Identifier "y"))+                   ])))))+, SoftBreak+, Code+    "typ/compiler/call-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (FuncCall+          (Ident (Identifier "f"))+          [ NormalArg (Literal (Int 1)) , BlockArg [ Text "2" ] ])+       [ NormalArg (Literal (Int 3)) ])+, ParBreak+, Comment+, Code+    "typ/compiler/call-00.typ"+    ( line 13 , column 2 )+    (Ident (Identifier "test"))+, Space+, Text "("+, Text "it)"+, ParBreak+, Code+    "typ/compiler/call-00.typ"+    ( line 15 , column 2 )+    (LetFunc+       (Identifier "f")+       [ NormalParam (Identifier "body") ]+       (Ident (Identifier "body")))+, SoftBreak+, Code+    "typ/compiler/call-00.typ"+    ( line 16 , column 2 )+    (FuncCall (Ident (Identifier "f")) [ BlockArg [ Text "A" ] ])+, SoftBreak+, Code+    "typ/compiler/call-00.typ"+    ( line 17 , column 2 )+    (FuncCall (Ident (Identifier "f")) [ BlockArg [ Text "A" ] ])+, SoftBreak+, Code+    "typ/compiler/call-00.typ"+    ( line 18 , column 2 )+    (FuncCall+       (Ident (Identifier "f"))+       [ NormalArg (Block (Content [ Text "A" ])) ])+, ParBreak+, Code+    "typ/compiler/call-00.typ"+    ( line 20 , column 2 )+    (LetFunc+       (Identifier "g")+       [ NormalParam (Identifier "a") , NormalParam (Identifier "b") ]+       (Plus (Ident (Identifier "a")) (Ident (Identifier "b"))))+, SoftBreak+, Code+    "typ/compiler/call-00.typ"+    ( line 21 , column 2 )+    (FuncCall+       (Ident (Identifier "g"))+       [ BlockArg [ Text "A" ] , BlockArg [ Text "B" ] ])+, SoftBreak+, Code+    "typ/compiler/call-00.typ"+    ( line 22 , column 2 )+    (FuncCall+       (Ident (Identifier "g"))+       [ NormalArg (Block (Content [ Text "A" ]))+       , NormalArg (Block (Content [ Text "B" ]))+       ])+, SoftBreak+, Code+    "typ/compiler/call-00.typ"+    ( line 23 , column 2 )+    (FuncCall+       (Ident (Identifier "g"))+       [ BlockArg [ Text "A" ] , BlockArg [ Text "B" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 strong(body: text(body: [Bold])), +                 parbreak(), +                 text(body: [+]), +                 text(body: [1]), +                 text(body: [2]), +                 text(body: [3]), +                 parbreak(), +                 text(body: [ (it)]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [A]), +                 text(body: [+]), +                 text(body: [A]), +                 text(body: [+]), +                 text(body: [A]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [A]), +                 text(body: [B]), +                 text(body: [+]), +                 text(body: [A]), +                 text(body: [B]), +                 text(body: [+]), +                 text(body: [A]), +                 text(body: [B]), +                 parbreak() })
+ test/typ/compiler/call-01.out view
@@ -0,0 +1,114 @@+--- parse tree ---+[ Code+    "typ/compiler/call-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/call-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/call-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/call-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Plus (Literal (Int 1)) (Literal (Int 1)))+       , NormalArg (Literal (Int 2))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/call-01.typ"+    ( line 6 , column 2 )+    (Let+       (BasicBind (Just (Identifier "alias")))+       (Ident (Identifier "type")))+, SoftBreak+, Code+    "typ/compiler/call-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "alias"))+              [ NormalArg (Ident (Identifier "alias")) ])+       , NormalArg (Literal (String "function"))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/call-01.typ"+    ( line 10 , column 2 )+    (Block+       (CodeBlock+          [ FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "type")) [ NormalArg (Literal (String "hi")) ])+              , NormalArg (Literal (String "string"))+              ]+          , LetFunc+              (Identifier "adder")+              [ NormalParam (Identifier "dx") ]+              (FuncExpr+                 [ NormalParam (Identifier "x") ]+                 (Plus (Ident (Identifier "x")) (Ident (Identifier "dx"))))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FuncCall+                        (Ident (Identifier "adder")) [ NormalArg (Literal (Int 2)) ])+                     [ NormalArg (Literal (Int 5)) ])+              , NormalArg (Literal (Int 7))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/call-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/call-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/call-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/call-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/call-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/call-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/call-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/call-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/call-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-00.out view
@@ -0,0 +1,64 @@+--- parse tree ---+[ Code+    "typ/compiler/closure-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/closure-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/closure-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, SoftBreak+, Code+    "typ/compiler/closure-00.typ"+    ( line 5 , column 2 )+    (Let (BasicBind (Just (Identifier "x"))) (Literal (String "x")))+, ParBreak+, Comment+, Code+    "typ/compiler/closure-00.typ"+    ( line 8 , column 2 )+    (FuncExpr+       [ NormalParam (Identifier "x") ] (Ident (Identifier "y")))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 parbreak() })
+ test/typ/compiler/closure-01.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/compiler/closure-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/closure-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/closure-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/closure-01.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "adder")))+              (FuncExpr+                 [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+                 (Plus (Ident (Identifier "x")) (Ident (Identifier "y"))))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "adder"))+                     [ NormalArg (Literal (Int 2)) , NormalArg (Literal (Int 3)) ])+              , NormalArg (Literal (Int 5))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/closure-02.out view
@@ -0,0 +1,91 @@+--- parse tree ---+[ Code+    "typ/compiler/closure-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/closure-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/closure-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/closure-02.typ"+    ( line 4 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "chain")))+              (FuncExpr+                 [ NormalParam (Identifier "f") , NormalParam (Identifier "g") ]+                 (FuncExpr+                    [ NormalParam (Identifier "x") ]+                    (FuncCall+                       (Ident (Identifier "f"))+                       [ NormalArg+                           (FuncCall+                              (Ident (Identifier "g")) [ NormalArg (Ident (Identifier "x")) ])+                       ])))+          , Let+              (BasicBind (Just (Identifier "f")))+              (FuncExpr+                 [ NormalParam (Identifier "x") ]+                 (Plus (Ident (Identifier "x")) (Literal (Int 1))))+          , Let+              (BasicBind (Just (Identifier "g")))+              (FuncExpr+                 [ NormalParam (Identifier "x") ]+                 (Times (Literal (Int 2)) (Ident (Identifier "x"))))+          , Let+              (BasicBind (Just (Identifier "h")))+              (FuncCall+                 (Ident (Identifier "chain"))+                 [ NormalArg (Ident (Identifier "f"))+                 , NormalArg (Ident (Identifier "g"))+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall (Ident (Identifier "h")) [ NormalArg (Literal (Int 2)) ])+              , NormalArg (Literal (Int 5))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/closure-03.out view
@@ -0,0 +1,90 @@+--- parse tree ---+[ Code+    "typ/compiler/closure-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/closure-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/closure-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/closure-03.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let (BasicBind (Just (Identifier "mark"))) (Literal (String "!"))+          , Let+              (BasicBind (Just (Identifier "greet")))+              (Block+                 (CodeBlock+                    [ Let (BasicBind (Just (Identifier "hi"))) (Literal (String "Hi"))+                    , FuncExpr+                        [ NormalParam (Identifier "name") ]+                        (Block+                           (CodeBlock+                              [ Plus+                                  (Plus+                                     (Plus (Ident (Identifier "hi")) (Literal (String ", ")))+                                     (Ident (Identifier "name")))+                                  (Ident (Identifier "mark"))+                              ]))+                    ]))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "greet"))+                     [ NormalArg (Literal (String "Typst")) ])+              , NormalArg (Literal (String "Hi, Typst!"))+              ]+          , Assign (Ident (Identifier "mark")) (Literal (String "?"))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "greet"))+                     [ NormalArg (Literal (String "Typst")) ])+              , NormalArg (Literal (String "Hi, Typst!"))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/closure-04.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/compiler/closure-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/closure-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/closure-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/closure-04.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let (BasicBind (Just (Identifier "x"))) (Literal (Int 1))+          , LetFunc+              (Identifier "f")+              []+              (Block+                 (CodeBlock+                    [ Let+                        (BasicBind (Just (Identifier "x")))+                        (Plus (Ident (Identifier "x")) (Literal (Int 2)))+                    , Ident (Identifier "x")+                    ]))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (FuncCall (Ident (Identifier "f")) [])+              , NormalArg (Literal (Int 3))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/closure-05.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/compiler/closure-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/closure-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/closure-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/closure-05.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "b"))) (Literal (String "module.typ"))+          , LetFunc+              (Identifier "f")+              []+              (Block+                 (CodeBlock+                    [ Import+                        (Ident (Identifier "b"))+                        (SomeIdentifiers [ ( Identifier "b" , Nothing ) ])+                    , Ident (Identifier "b")+                    ]))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (FuncCall (Ident (Identifier "f")) [])+              , NormalArg (Literal (Int 1))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/closure-06.out view
@@ -0,0 +1,84 @@+--- parse tree ---+[ Code+    "typ/compiler/closure-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/closure-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/closure-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/closure-06.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "v")))+              (Array+                 [ Reg (Literal (Int 1))+                 , Reg (Literal (Int 2))+                 , Reg (Literal (Int 3))+                 ])+          , LetFunc+              (Identifier "f")+              []+              (Block+                 (CodeBlock+                    [ Let (BasicBind (Just (Identifier "s"))) (Literal (Int 0))+                    , For+                        (BasicBind (Just (Identifier "v")))+                        (Ident (Identifier "v"))+                        (Block+                           (CodeBlock+                              [ Assign+                                  (Ident (Identifier "s"))+                                  (Plus (Ident (Identifier "s")) (Ident (Identifier "v")))+                              ]))+                    , Ident (Identifier "s")+                    ]))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (FuncCall (Ident (Identifier "f")) [])+              , NormalArg (Literal (Int 6))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/closure-07.out view
@@ -0,0 +1,69 @@+--- parse tree ---+[ Code+    "typ/compiler/closure-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/closure-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/closure-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/closure-07.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let (BasicBind (Just (Identifier "g"))) (Literal (String "hi"))+          , LetFunc+              (Identifier "f")+              []+              (Block+                 (CodeBlock+                    [ LetFunc (Identifier "g") [] (Literal (String "bye"))+                    , FuncCall (Ident (Identifier "g")) []+                    ]))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (FuncCall (Ident (Identifier "f")) [])+              , NormalArg (Literal (String "bye"))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/closure-08.out view
@@ -0,0 +1,81 @@+--- parse tree ---+[ Code+    "typ/compiler/closure-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/closure-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/closure-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/closure-08.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let (BasicBind (Just (Identifier "x"))) (Literal (Int 5))+          , LetFunc+              (Identifier "g")+              []+              (Block+                 (CodeBlock+                    [ LetFunc+                        (Identifier "f")+                        [ NormalParam (Identifier "x")+                        , DefaultParam (Identifier "y") (Ident (Identifier "x"))+                        ]+                        (Plus (Ident (Identifier "x")) (Ident (Identifier "y")))+                    , Ident (Identifier "f")+                    ]))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FuncCall (Ident (Identifier "g")) [])+                     [ NormalArg (Literal (Int 8)) ])+              , NormalArg (Literal (Int 13))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [❌(]), +                 text(body: [16]), +                 text(body: [ /= ]), +                 text(body: [13]), +                 text(body: [)]), +                 parbreak() })
+ test/typ/compiler/closure-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-11.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-12.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-13.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-14.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-15.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-16.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-17.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-18.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-19.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/closure-20.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/color-00.out view
@@ -0,0 +1,213 @@+--- parse tree ---+[ Code+    "typ/compiler/color-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/color-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/color-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/color-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "c")))+       (FuncCall+          (Ident (Identifier "cmyk"))+          [ NormalArg (Literal (Numeric 50.0 Percent))+          , NormalArg (Literal (Numeric 64.0 Percent))+          , NormalArg (Literal (Numeric 16.0 Percent))+          , NormalArg (Literal (Numeric 17.0 Percent))+          ]))+, SoftBreak+, Code+    "typ/compiler/color-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))+              , KeyValArg+                  (Identifier "fill")+                  (FuncCall+                     (Ident (Identifier "cmyk"))+                     [ NormalArg (Literal (Numeric 69.0 Percent))+                     , NormalArg (Literal (Numeric 11.0 Percent))+                     , NormalArg (Literal (Numeric 69.0 Percent))+                     , NormalArg (Literal (Numeric 41.0 Percent))+                     ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))+              , KeyValArg (Identifier "fill") (Ident (Identifier "c"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))+              , KeyValArg+                  (Identifier "fill")+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "negate")) (Ident (Identifier "c")))+                     [])+              ])+       ])+, ParBreak+, Code+    "typ/compiler/color-00.typ"+    ( line 12 , column 2 )+    (For+       (BasicBind (Just (Identifier "x")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 11)) ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "box"))+                 [ NormalArg+                     (FuncCall+                        (Ident (Identifier "square"))+                        [ KeyValArg (Identifier "size") (Literal (Numeric 9.0 Pt))+                        , KeyValArg+                            (Identifier "fill")+                            (FuncCall+                               (FieldAccess+                                  (Ident (Identifier "lighten")) (Ident (Identifier "c")))+                               [ NormalArg+                                   (Times (Ident (Identifier "x")) (Literal (Numeric 10.0 Percent)))+                               ])+                        ])+                 ]+             ])))+, SoftBreak+, Code+    "typ/compiler/color-00.typ"+    ( line 15 , column 2 )+    (For+       (BasicBind (Just (Identifier "x")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 11)) ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "box"))+                 [ NormalArg+                     (FuncCall+                        (Ident (Identifier "square"))+                        [ KeyValArg (Identifier "size") (Literal (Numeric 9.0 Pt))+                        , KeyValArg+                            (Identifier "fill")+                            (FuncCall+                               (FieldAccess+                                  (Ident (Identifier "darken")) (Ident (Identifier "c")))+                               [ NormalArg+                                   (Times (Ident (Identifier "x")) (Literal (Numeric 10.0 Percent)))+                               ])+                        ])+                 ]+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 stack(children: (rect(fill: cmyk(69%,11%,69%,41%), +                                       width: 1.0cm), +                                  rect(fill: cmyk(50%,64%,16%,17%), +                                       width: 1.0cm), +                                  rect(fill: cmyk(50%,36%,84%,17%), +                                       width: 1.0cm)), +                       dir: ltr, +                       spacing: 1.0fr), +                 parbreak(), +                 box(body: square(fill: cmyk(50%,64%,16%,17%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(55%,67%,24%,25%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(60%,71%,32%,33%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(65%,74%,41%,41%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(70%,78%,49%,50%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(75%,82%,58%,58%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(80%,85%,66%,66%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(85%,89%,74%,75%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(90%,92%,83%,83%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(95%,96%,91%,91%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(100%,100%,100%,100%), +                                  size: 9.0pt)), +                 text(body: [+]), +                 box(body: square(fill: cmyk(50%,64%,16%,17%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(45%,57%,14%,15%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(40%,51%,12%,13%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(35%,44%,11%,11%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(30%,38%,9%,10%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(25%,32%,8%,8%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(20%,25%,6%,6%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(15%,19%,4%,5%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(10%,12%,3%,3%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(5%,6%,1%,1%), +                                  size: 9.0pt)), +                 box(body: square(fill: cmyk(0%,0%,0%,0%), +                                  size: 9.0pt)), +                 parbreak() })
+ test/typ/compiler/color-01.out view
@@ -0,0 +1,116 @@+--- parse tree ---+[ Code+    "typ/compiler/color-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/color-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/color-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/color-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "lighten"))+                 (FuncCall+                    (Ident (Identifier "luma"))+                    [ NormalArg (Literal (Numeric 20.0 Percent)) ]))+              [ NormalArg (Literal (Numeric 50.0 Percent)) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "luma"))+              [ NormalArg (Literal (Numeric 60.0 Percent)) ])+       ])+, SoftBreak+, Code+    "typ/compiler/color-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "darken"))+                 (FuncCall+                    (Ident (Identifier "luma"))+                    [ NormalArg (Literal (Numeric 80.0 Percent)) ]))+              [ NormalArg (Literal (Numeric 20.0 Percent)) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "luma"))+              [ NormalArg (Literal (Numeric 63.9 Percent)) ])+       ])+, SoftBreak+, Code+    "typ/compiler/color-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "negate"))+                 (FuncCall+                    (Ident (Identifier "luma"))+                    [ NormalArg (Literal (Numeric 80.0 Percent)) ]))+              [])+       , NormalArg+           (FuncCall+              (Ident (Identifier "luma"))+              [ NormalArg (Literal (Numeric 20.0 Percent)) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: [luma(64%)]), +                 text(body: [ /= ]), +                 text(body: [luma(63%)]), +                 text(body: [)]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/comment-00.out view
@@ -0,0 +1,88 @@+--- parse tree ---+[ Code+    "typ/compiler/comment-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/comment-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/comment-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Comment+, Text "B"+, ParBreak+, Comment+, Text "C"+, Comment+, Text "D"+, ParBreak+, Comment+, Code+    "typ/compiler/comment-00.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type")) [ NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (String "integer"))+       ])+, ParBreak+, Comment+, Comment+, SoftBreak+, Comment+, Comment+, ParBreak+, Text "E"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A]), +                 text(body: [B]), +                 parbreak(), +                 text(body: [C]), +                 text(body: [D]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [+]), +                 parbreak(), +                 text(body: [E]), +                 parbreak() })
+ test/typ/compiler/comment-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/construct-00.out view
@@ -0,0 +1,74 @@+--- parse tree ---+[ Code+    "typ/compiler/construct-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/construct-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/construct-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/construct-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "leading") (Literal (Numeric 2.0 Pt)) ])+, SoftBreak+, Code+    "typ/compiler/construct-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "list"))+       [ KeyValArg (Identifier "body-indent") (Literal (Numeric 20.0 Pt))+       , NormalArg (Block (Content [ Text "First" ]))+       , NormalArg+           (FuncCall+              (Ident (Identifier "list"))+              [ BlockArg [ Text "A" ] , BlockArg [ Text "B" ] ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 list(body-indent: 20.0pt, +                      children: (text(body: [First]), +                                 list(children: (text(body: [A]), +                                                 text(body: [B]))))), +                 parbreak() })
+ test/typ/compiler/construct-01.out view
@@ -0,0 +1,90 @@+--- parse tree ---+[ Code+    "typ/compiler/construct-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/construct-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/construct-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Comment+, Code+    "typ/compiler/construct-01.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "list"))+       [ KeyValArg (Identifier "marker") (Block (Content [ Text ">" ])) ])+, SoftBreak+, Code+    "typ/compiler/construct-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "list"))+       [ KeyValArg (Identifier "marker") (Block (Content [ EnDash ]))+       , BlockArg+           [ SoftBreak+           , Code+               "typ/compiler/construct-01.typ"+               ( line 7 , column 4 )+               (FuncCall+                  (Ident (Identifier "rect"))+                  [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Cm))+                  , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+                  , KeyValArg (Identifier "inset") (Literal (Numeric 4.0 Pt))+                  , NormalArg+                      (FuncCall (Ident (Identifier "list")) [ BlockArg [ Text "A" ] ])+                  ])+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 list(children: ({ text(body: [+]), +                                   rect(body: list(children: (text(body: [A])), +                                                   marker: text(body: [>])), +                                        fill: rgb(18%,80%,25%,100%), +                                        inset: 4.0pt, +                                        width: 2.0cm), +                                   parbreak() }), +                      marker: text(body: [–])), +                 parbreak() })
+ test/typ/compiler/construct-02.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/compiler/construct-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/construct-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/construct-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/construct-02.typ"+    ( line 4 , column 2 )+    (Block+       (Content+          [ Code+              "typ/compiler/construct-02.typ"+              ( line 4 , column 4 )+              (Set+                 (Ident (Identifier "rect"))+                 [ KeyValArg (Identifier "fill") (Ident (Identifier "yellow")) ])+          , Code+              "typ/compiler/construct-02.typ"+              ( line 4 , column 28 )+              (FuncCall+                 (Ident (Identifier "text"))+                 [ NormalArg (Literal (Numeric 1.0 Em))+                 , NormalArg+                     (FuncCall+                        (Ident (Identifier "rect"))+                        [ KeyValArg (Identifier "inset") (Literal (Numeric 5.0 Pt))+                        , NormalArg (FuncCall (Ident (Identifier "rect")) [])+                        ])+                 ])+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: rect(body: rect(fill: rgb(100%,86%,0%,100%)), +                                 fill: rgb(100%,86%,0%,100%), +                                 inset: 5.0pt), +                      size: 1.0em), +                 parbreak() })
+ test/typ/compiler/construct-03.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/compiler/construct-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/construct-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/construct-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Space+, Code+    "typ/compiler/construct-03.typ"+    ( line 3 , column 4 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "yellow"))+              , KeyValArg (Identifier "inset") (Literal (Numeric 5.0 Pt))+              , NormalArg (FuncCall (Ident (Identifier "rect")) [])+              ])+       ])+, Space+, Text "B"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A ]), +                 box(body: rect(body: rect(), +                                fill: rgb(100%,86%,0%,100%), +                                inset: 5.0pt)), +                 text(body: [ B]), +                 parbreak() })
+ test/typ/compiler/construct-04.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/compiler/construct-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/construct-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/construct-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/construct-04.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Ident (Identifier "enum")))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Ident (Identifier "blue")) ]))+, SoftBreak+, Code+    "typ/compiler/construct-04.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "enum"))+       [ KeyValArg (Identifier "numbering") (Literal (String "(a)"))+       , NormalArg (Block (Content [ Text "A" ]))+       , NormalArg+           (FuncCall (Ident (Identifier "enum")) [ BlockArg [ Text "B" ] ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 enum(children: (text(body: [A]), +                                 enum(children: (text(body: [B])))), +                      numbering: "(a)"), +                 parbreak() })
− test/typ/compiler/content-field-00.typ
@@ -1,41 +0,0 @@-// Integrated test for content fields.--#let compute(equation, ..vars) = {-  let vars = vars.named()-  let f(elem) = {-    let func = elem.func()-    if func == text {-      let text = elem.text-      if regex("^\d+$") in text {-        int(text)-      } else if text in vars {-        int(vars.at(text))-      } else {-        panic("unknown math variable: " + text)-      }-    } else if func == math.attach {-      let value = f(elem.base)-      if elem.has("t") {-        value = calc.pow(value, f(elem.t))-      }-      value-    } else if elem.has("children") {-      elem-        .children-        .filter(v => v != [ ])-        .split[+]-        .map(xs => xs.fold(1, (prod, v) => prod * f(v)))-        .fold(0, (sum, v) => sum + v)-    }-  }-  let result = f(equation.body)-  [With ]-  vars-    .pairs()-    .map(p => $#p.first() = #p.last()$)-    .join(", ", last: " and ")-  [ we have:]-  $ equation = result $-}--#compute($x y + y^2$, x: 2, y: 3)
+ test/typ/compiler/dict-00.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/compiler/dict-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/dict-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/dict-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code "typ/compiler/dict-00.typ" ( line 5 , column 2 ) (Dict [])+, ParBreak+, Comment+, Code+    "typ/compiler/dict-00.typ"+    ( line 8 , column 2 )+    (Let+       (BasicBind (Just (Identifier "dict")))+       (Dict+          [ Reg ( Ident (Identifier "normal") , Literal (Int 1) )+          , Reg ( Literal (String "spacy key") , Literal (Int 2) )+          ]))+, SoftBreak+, Code+    "typ/compiler/dict-00.typ"+    ( line 9 , column 2 )+    (Ident (Identifier "dict"))+, ParBreak+, Code+    "typ/compiler/dict-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "normal")) (Ident (Identifier "dict")))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/dict-00.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "dict")))+              [ NormalArg (Literal (String "spacy key")) ])+       , NormalArg (Literal (Int 2))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [()]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [(normal: 1, spacy key: 2)]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/dict-01.out view
@@ -0,0 +1,130 @@+--- parse tree ---+[ Code+    "typ/compiler/dict-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/dict-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/dict-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/dict-01.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "dict")))+              (Dict+                 [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+                 , Reg ( Literal (String "b b") , Literal (Int 1) )+                 ])+          , Assign+              (FuncCall+                 (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "dict")))+                 [ NormalArg (Literal (String "b b")) ])+              (Plus+                 (FuncCall+                    (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "dict")))+                    [ NormalArg (Literal (String "b b")) ])+                 (Literal (Int 1)))+          , Assign+              (FieldAccess+                 (Ident (Identifier "state")) (Ident (Identifier "dict")))+              (Dict+                 [ Reg ( Ident (Identifier "ok") , Literal (Boolean True) )+                 , Reg ( Ident (Identifier "err") , Literal (Boolean False) )+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "dict"))+              , NormalArg+                  (Dict+                     [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+                     , Reg ( Literal (String "b b") , Literal (Int 2) )+                     , Reg+                         ( Ident (Identifier "state")+                         , Dict+                             [ Reg ( Ident (Identifier "ok") , Literal (Boolean True) )+                             , Reg ( Ident (Identifier "err") , Literal (Boolean False) )+                             ]+                         )+                     ])+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FieldAccess+                     (Ident (Identifier "ok"))+                     (FieldAccess+                        (Ident (Identifier "state")) (Ident (Identifier "dict"))))+              , NormalArg (Literal (Boolean True))+              ]+          , Assign+              (FieldAccess+                 (Ident (Identifier "ok"))+                 (FuncCall+                    (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "dict")))+                    [ NormalArg (Literal (String "state")) ]))+              (Literal (Boolean False))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FieldAccess+                     (Ident (Identifier "ok"))+                     (FieldAccess+                        (Ident (Identifier "state")) (Ident (Identifier "dict"))))+              , NormalArg (Literal (Boolean False))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FieldAccess+                     (Ident (Identifier "err"))+                     (FieldAccess+                        (Ident (Identifier "state")) (Ident (Identifier "dict"))))+              , NormalArg (Literal (Boolean False))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/dict-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/dict-03.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/compiler/dict-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/dict-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/dict-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/dict-03.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "at"))+                 (Dict+                    [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+                    , Reg ( Ident (Identifier "b") , Literal (Int 2) )+                    ]))+              [ NormalArg (Literal (String "b"))+              , KeyValArg (Identifier "default") (Literal (Int 3))+              ])+       , NormalArg (Literal (Int 2))+       ])+, SoftBreak+, Code+    "typ/compiler/dict-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "at"))+                 (Dict+                    [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+                    , Reg ( Ident (Identifier "b") , Literal (Int 2) )+                    ]))+              [ NormalArg (Literal (String "c"))+              , KeyValArg (Identifier "default") (Literal (Int 3))+              ])+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/dict-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/dict-05.out view
@@ -0,0 +1,186 @@+--- parse tree ---+[ Code+    "typ/compiler/dict-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/dict-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/dict-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/dict-05.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "dict")))+       (Dict+          [ Reg ( Ident (Identifier "a") , Literal (Int 3) )+          , Reg ( Ident (Identifier "c") , Literal (Int 2) )+          , Reg ( Ident (Identifier "b") , Literal (Int 1) )+          ]))+, SoftBreak+, Code+    "typ/compiler/dict-05.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection (Literal (String "c")) (Ident (Identifier "dict")))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/dict-05.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "len")) (Ident (Identifier "dict")))+              [])+       , NormalArg (Literal (Int 3))+       ])+, SoftBreak+, Code+    "typ/compiler/dict-05.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "values")) (Ident (Identifier "dict")))+              [])+       , NormalArg+           (Array+              [ Reg (Literal (Int 3))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 1))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/dict-05.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "join"))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "map"))+                       (FuncCall+                          (FieldAccess+                             (Ident (Identifier "pairs")) (Ident (Identifier "dict")))+                          []))+                    [ NormalArg+                        (FuncExpr+                           [ NormalParam (Identifier "p") ]+                           (Plus+                              (FuncCall+                                 (FieldAccess (Ident (Identifier "first")) (Ident (Identifier "p")))+                                 [])+                              (FuncCall+                                 (Ident (Identifier "str"))+                                 [ NormalArg+                                     (FuncCall+                                        (FieldAccess+                                           (Ident (Identifier "last")) (Ident (Identifier "p")))+                                        [])+                                 ])))+                    ]))+              [])+       , NormalArg (Literal (String "a3c2b1"))+       ])+, ParBreak+, Code+    "typ/compiler/dict-05.typ"+    ( line 9 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "remove")) (Ident (Identifier "dict")))+       [ NormalArg (Literal (String "c")) ])+, SoftBreak+, Code+    "typ/compiler/dict-05.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection (Literal (String "c")) (Ident (Identifier "dict")))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/dict-05.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "dict"))+       , NormalArg+           (Dict+              [ Reg ( Ident (Identifier "a") , Literal (Int 3) )+              , Reg ( Ident (Identifier "b") , Literal (Int 1) )+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [2]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/dict-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/dict-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/dict-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/dict-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/dict-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/field-00.out view
@@ -0,0 +1,90 @@+--- parse tree ---+[ Code+    "typ/compiler/field-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/field-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/field-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/field-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "dict")))+       (Dict+          [ Reg ( Ident (Identifier "nothing") , Literal (String "ness") )+          , Reg ( Ident (Identifier "hello") , Literal (String "world") )+          ]))+, SoftBreak+, Code+    "typ/compiler/field-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "nothing")) (Ident (Identifier "dict")))+       , NormalArg (Literal (String "ness"))+       ])+, SoftBreak+, Code+    "typ/compiler/field-00.typ"+    ( line 5 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "world")))+              (FieldAccess+                 (Ident (Identifier "hello")) (Ident (Identifier "dict")))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "world"))+              , NormalArg (Literal (String "world"))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/field-01.out view
@@ -0,0 +1,75 @@+--- parse tree ---+[ Code+    "typ/compiler/field-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/field-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/field-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/field-01.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "list")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (CodeBlock+                [ FuncCall+                    (Ident (Identifier "test"))+                    [ NormalArg+                        (FuncCall+                           (FieldAccess+                              (Ident (Identifier "len"))+                              (FieldAccess+                                 (Ident (Identifier "children")) (Ident (Identifier "it"))))+                           [])+                    , NormalArg (Literal (Int 3))+                    ]+                ]))))+, ParBreak+, BulletListItem [ Text "A" ]+, SoftBreak+, BulletListItem [ Text "B" ]+, SoftBreak+, BulletListItem [ Text "C" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [✅]) })
+ test/typ/compiler/field-02.out view
@@ -0,0 +1,69 @@+--- parse tree ---+[ Code+    "typ/compiler/field-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/field-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/field-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/field-02.typ"+    ( line 3 , column 2 )+    (FieldAccess+       (Ident (Identifier "item")) (Ident (Identifier "enum")))+, SoftBreak+, Code+    "typ/compiler/field-02.typ"+    ( line 4 , column 2 )+    (FieldAccess+       (Ident (Identifier "eq")) (Ident (Identifier "assert")))+, SoftBreak+, Code+    "typ/compiler/field-02.typ"+    ( line 5 , column 2 )+    (FieldAccess+       (Ident (Identifier "ne")) (Ident (Identifier "assert")))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak() })
+ test/typ/compiler/field-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/field-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/field-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/field-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/field-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/field-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/field-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/field-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/for-00.out view
@@ -0,0 +1,302 @@+--- parse tree ---+[ Code+    "typ/compiler/for-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/for-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/for-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/compiler/for-00.typ"+    ( line 5 , column 2 )+    (For+       (BasicBind (Just (Identifier "x")))+       (Array [])+       (Block (Content [ Text "Nope" ])))+, ParBreak+, Comment+, Comment+, Code+    "typ/compiler/for-00.typ"+    ( line 9 , column 2 )+    (For+       (DestructuringBind+          [ Simple (Just (Identifier "k"))+          , Simple (Just (Identifier "v"))+          ])+       (Dict+          [ Reg ( Ident (Identifier "Name") , Literal (String "Typst") )+          , Reg ( Ident (Identifier "Age") , Literal (Int 2) )+          ])+       (Block+          (Content+             [ SoftBreak+             , Code+                 "typ/compiler/for-00.typ"+                 ( line 10 , column 4 )+                 (Ident (Identifier "k"))+             , Text ":"+             , Space+             , Code+                 "typ/compiler/for-00.typ"+                 ( line 10 , column 8 )+                 (Ident (Identifier "v"))+             , Text "."+             , ParBreak+             ])))+, ParBreak+, Comment+, Comment+, Code+    "typ/compiler/for-00.typ"+    ( line 15 , column 2 )+    (Block+       (CodeBlock+          [ Literal (String "[")+          , For+              (BasicBind (Just (Identifier "v")))+              (Array+                 [ Reg (Literal (Int 1))+                 , Reg (Literal (Int 2))+                 , Reg (Literal (Int 3))+                 , Reg (Literal (Int 4))+                 ])+              (Block+                 (CodeBlock+                    [ If+                        [ ( GreaterThan (Ident (Identifier "v")) (Literal (Int 1))+                          , Block (Content [ Text "," , Space ])+                          )+                        ]+                    , Block+                        (Content+                           [ Code+                               "typ/compiler/for-00.typ"+                               ( line 19 , column 7 )+                               (Ident (Identifier "v"))+                           ])+                    , If+                        [ ( Equals (Ident (Identifier "v")) (Literal (Int 1))+                          , Block (Content [ Text "st" ])+                          )+                        ]+                    , If+                        [ ( Equals (Ident (Identifier "v")) (Literal (Int 2))+                          , Block (Content [ Text "nd" ])+                          )+                        ]+                    , If+                        [ ( Equals (Ident (Identifier "v")) (Literal (Int 3))+                          , Block (Content [ Text "rd" ])+                          )+                        ]+                    , If+                        [ ( GreaterThanOrEqual (Ident (Identifier "v")) (Literal (Int 4))+                          , Block (Content [ Text "th" ])+                          )+                        ]+                    ]))+          , Literal (String "]")+          ]))+, ParBreak+, Comment+, Comment+, Code+    "typ/compiler/for-00.typ"+    ( line 30 , column 2 )+    (For+       (BasicBind (Just (Identifier "v")))+       (Array+          [ Reg (Literal (Int 1))+          , Reg (Literal (Int 2))+          , Reg (Literal (Int 3))+          , Reg (Literal (Int 4))+          , Reg (Literal (Int 5))+          , Reg (Literal (Int 6))+          , Reg (Literal (Int 7))+          ])+       (Block+          (Content+             [ Code+                 "typ/compiler/for-00.typ"+                 ( line 30 , column 35 )+                 (If+                    [ ( And+                          (GreaterThanOrEqual (Ident (Identifier "v")) (Literal (Int 2)))+                          (LessThanOrEqual (Ident (Identifier "v")) (Literal (Int 5)))+                      , Block+                          (CodeBlock+                             [ FuncCall+                                 (Ident (Identifier "repr")) [ NormalArg (Ident (Identifier "v")) ]+                             ])+                      )+                    ])+             ])))+, ParBreak+, Comment+, Code+    "typ/compiler/for-00.typ"+    ( line 33 , column 2 )+    (LetFunc+       (Identifier "f1")+       [ SinkParam (Just (Identifier "args")) ]+       (FuncCall+          (FieldAccess+             (Ident (Identifier "map"))+             (FuncCall+                (FieldAccess+                   (Ident (Identifier "pos")) (Ident (Identifier "args")))+                []))+          [ NormalArg (Ident (Identifier "repr")) ]))+, SoftBreak+, Code+    "typ/compiler/for-00.typ"+    ( line 34 , column 2 )+    (LetFunc+       (Identifier "f2")+       [ SinkParam (Just (Identifier "args")) ]+       (FuncCall+          (FieldAccess+             (Ident (Identifier "map"))+             (FuncCall+                (FieldAccess+                   (Ident (Identifier "pairs"))+                   (FuncCall+                      (FieldAccess+                         (Ident (Identifier "named")) (Ident (Identifier "args")))+                      []))+                []))+          [ NormalArg+              (FuncExpr+                 [ NormalParam (Identifier "p") ]+                 (Plus+                    (Plus+                       (FuncCall+                          (Ident (Identifier "repr"))+                          [ NormalArg+                              (FuncCall+                                 (FieldAccess (Ident (Identifier "first")) (Ident (Identifier "p")))+                                 [])+                          ])+                       (Literal (String ": ")))+                    (FuncCall+                       (Ident (Identifier "repr"))+                       [ NormalArg+                           (FuncCall+                              (FieldAccess (Ident (Identifier "last")) (Ident (Identifier "p")))+                              [])+                       ])))+          ]))+, SoftBreak+, Code+    "typ/compiler/for-00.typ"+    ( line 35 , column 2 )+    (LetFunc+       (Identifier "f")+       [ SinkParam (Just (Identifier "args")) ]+       (FuncCall+          (FieldAccess+             (Ident (Identifier "join"))+             (Plus+                (FuncCall+                   (Ident (Identifier "f1"))+                   [ SpreadArg (Ident (Identifier "args")) ])+                (FuncCall+                   (Ident (Identifier "f2"))+                   [ SpreadArg (Ident (Identifier "args")) ])))+          [ NormalArg (Literal (String ", ")) ]))+, SoftBreak+, Code+    "typ/compiler/for-00.typ"+    ( line 36 , column 2 )+    (FuncCall+       (Ident (Identifier "f"))+       [ NormalArg (Literal (Int 1))+       , KeyValArg (Identifier "a") (Literal (Int 2))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [Name]), +                 text(body: [: ]), +                 text(body: [Typst]), +                 text(body: [.]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [Age]), +                 text(body: [: ]), +                 text(body: [2]), +                 text(body: [.]), +                 parbreak(), +                 parbreak(), +                 text(body: [[]), +                 text(body: [1]), +                 text(body: [st]), +                 text(body: [, ]), +                 text(body: [2]), +                 text(body: [nd]), +                 text(body: [, ]), +                 text(body: [3]), +                 text(body: [rd]), +                 text(body: [, ]), +                 text(body: [4]), +                 text(body: [th]), +                 text(body: []]), +                 parbreak(), +                 text(body: [2]), +                 text(body: [3]), +                 text(body: [4]), +                 text(body: [5]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [1, "a": 2]), +                 parbreak() })
+ test/typ/compiler/for-01.out view
@@ -0,0 +1,260 @@+--- parse tree ---+[ Code+    "typ/compiler/for-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/for-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/for-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compiler/for-01.typ"+    ( line 2 , column 2 )+    (Let (BasicBind (Just (Identifier "out"))) (Array []))+, ParBreak+, Comment+, Code+    "typ/compiler/for-01.typ"+    ( line 5 , column 2 )+    (For+       (BasicBind (Just (Identifier "v")))+       (Array+          [ Reg (Literal (Int 1))+          , Reg (Literal (Int 2))+          , Reg (Literal (Int 3))+          ])+       (Block+          (CodeBlock+             [ Assign+                 (Ident (Identifier "out"))+                 (Plus+                    (Ident (Identifier "out"))+                    (Array [ Reg (Ident (Identifier "v")) ]))+             ])))+, ParBreak+, Comment+, Code+    "typ/compiler/for-01.typ"+    ( line 10 , column 2 )+    (For+       (DestructuringBind+          [ Simple (Just (Identifier "i"))+          , Simple (Just (Identifier "v"))+          ])+       (FuncCall+          (FieldAccess+             (Ident (Identifier "enumerate"))+             (Array+                [ Reg (Literal (String "1"))+                , Reg (Literal (String "2"))+                , Reg (Literal (String "3"))+                ]))+          [])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "test"))+                 [ NormalArg+                     (FuncCall+                        (Ident (Identifier "repr"))+                        [ NormalArg (Plus (Ident (Identifier "i")) (Literal (Int 1))) ])+                 , NormalArg (Ident (Identifier "v"))+                 ]+             ])))+, ParBreak+, Comment+, Code+    "typ/compiler/for-01.typ"+    ( line 15 , column 2 )+    (For+       (BasicBind (Just (Identifier "v")))+       (Dict+          [ Reg ( Ident (Identifier "a") , Literal (Int 4) )+          , Reg ( Ident (Identifier "b") , Literal (Int 5) )+          ])+       (Block+          (CodeBlock+             [ Assign+                 (Ident (Identifier "out"))+                 (Plus+                    (Ident (Identifier "out"))+                    (Array [ Reg (Ident (Identifier "v")) ]))+             ])))+, ParBreak+, Comment+, Code+    "typ/compiler/for-01.typ"+    ( line 20 , column 2 )+    (For+       (DestructuringBind+          [ Simple (Just (Identifier "k"))+          , Simple (Just (Identifier "v"))+          ])+       (Dict+          [ Reg ( Ident (Identifier "a") , Literal (Int 6) )+          , Reg ( Ident (Identifier "b") , Literal (Int 7) )+          ])+       (Block+          (CodeBlock+             [ Assign+                 (Ident (Identifier "out"))+                 (Plus+                    (Ident (Identifier "out"))+                    (Array [ Reg (Ident (Identifier "k")) ]))+             , Assign+                 (Ident (Identifier "out"))+                 (Plus+                    (Ident (Identifier "out"))+                    (Array [ Reg (Ident (Identifier "v")) ]))+             ])))+, ParBreak+, Code+    "typ/compiler/for-01.typ"+    ( line 25 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "out"))+       , NormalArg+           (Array+              [ Reg (Literal (Int 1))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              , Reg+                  (Array [ Reg (Literal (String "a")) , Reg (Literal (Int 4)) ])+              , Reg+                  (Array [ Reg (Literal (String "b")) , Reg (Literal (Int 5)) ])+              , Reg (Literal (String "a"))+              , Reg (Literal (Int 6))+              , Reg (Literal (String "b"))+              , Reg (Literal (Int 7))+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/for-01.typ"+    ( line 28 , column 2 )+    (Let+       (BasicBind (Just (Identifier "first"))) (Literal (Boolean True)))+, SoftBreak+, Code+    "typ/compiler/for-01.typ"+    ( line 29 , column 2 )+    (Let+       (BasicBind (Just (Identifier "joined")))+       (For+          (BasicBind (Just (Identifier "c")))+          (Literal (String "abc\128105\8205\128105\8205\128102\8205\128102"))+          (Block+             (CodeBlock+                [ If+                    [ ( Not (Ident (Identifier "first"))+                      , Block (CodeBlock [ Literal (String ", ") ])+                      )+                    ]+                , Assign (Ident (Identifier "first")) (Literal (Boolean False))+                , Ident (Identifier "c")+                ]))))+, ParBreak+, Code+    "typ/compiler/for-01.typ"+    ( line 35 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "joined"))+       , NormalArg+           (Literal+              (String "a, b, c, \128105\8205\128105\8205\128102\8205\128102"))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/for-01.typ"+    ( line 38 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (For+              (BasicBind (Just (Identifier "v")))+              (Literal (String ""))+              (Block (Content [])))+       , NormalArg (Literal None)+       ])+, SoftBreak+, Code+    "typ/compiler/for-01.typ"+    ( line 39 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg+                  (For+                     (BasicBind (Just (Identifier "v")))+                     (Literal (String "1"))+                     (Block (Content [])))+              ])+       , NormalArg (Literal (String "content"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [+]), +                 parbreak(), +                 text(body: [❌(]), +                 text(body: ["a, b, c, 👩, ‍, 👩, ‍, 👦, ‍, 👦"]), +                 text(body: [ /= ]), +                 text(body: ["a, b, c, 👩‍👩‍👦‍👦"]), +                 text(body: [)]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/for-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/for-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/for-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/highlight-00.out view
@@ -0,0 +1,61 @@+--- parse tree ---+[ Code+    "typ/compiler/highlight-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/highlight-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/highlight-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compiler/highlight-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto) ])+, ParBreak+, RawBlock+    "typ"+    "#set hello()\n#set hello()\n#set hello.world()\n#set hello.my.world()\n#let foo(x) = x * 2\n#show heading: func\n#show module.func: func\n#show module.func: it => {}\n#foo(ident: ident)\n#hello\n#hello()\n#box[]\n#hello.world\n#hello.world()\n#hello().world()\n#hello.my.world\n#hello.my.world()\n#hello.my().world\n#hello.my().world()\n#{ hello }\n#{ hello() }\n#{ hello.world() }\n$ hello $\n$ hello() $\n$ box[] $\n$ hello.world $\n$ hello.world() $\n$ hello.my.world() $\n$ f_zeta(x), f_zeta(x)/1 $\n$ emph(hello.my.world()) $\n$ emph(hello.my().world) $\n$ emph(hello.my().world()) $\n$ #hello $\n$ #hello() $\n$ #hello.world $\n$ #hello.world() $\n$ #box[] $\n#if foo []\n"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 raw(block: true, +                     lang: "typ", +                     text: "#set hello()\n#set hello()\n#set hello.world()\n#set hello.my.world()\n#let foo(x) = x * 2\n#show heading: func\n#show module.func: func\n#show module.func: it => {}\n#foo(ident: ident)\n#hello\n#hello()\n#box[]\n#hello.world\n#hello.world()\n#hello().world()\n#hello.my.world\n#hello.my.world()\n#hello.my().world\n#hello.my().world()\n#{ hello }\n#{ hello() }\n#{ hello.world() }\n$ hello $\n$ hello() $\n$ box[] $\n$ hello.world $\n$ hello.world() $\n$ hello.my.world() $\n$ f_zeta(x), f_zeta(x)/1 $\n$ emph(hello.my.world()) $\n$ emph(hello.my().world) $\n$ emph(hello.my().world()) $\n$ #hello $\n$ #hello() $\n$ #hello.world $\n$ #hello.world() $\n$ #box[] $\n#if foo []\n"), +                 parbreak() })
+ test/typ/compiler/hint-00.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/hint-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/hint-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/if-00.out view
@@ -0,0 +1,82 @@+--- parse tree ---+[ Code+    "typ/compiler/if-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/if-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/if-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/if-00.typ"+    ( line 3 , column 2 )+    (If+       [ ( LessThan (Literal (Int 1)) (Literal (Int 2))+         , Block (Content [ SoftBreak , Text "One" , Text "." , ParBreak ])+         )+       ])+, ParBreak+, Code+    "typ/compiler/if-00.typ"+    ( line 7 , column 2 )+    (If+       [ ( Equals (Literal (Boolean True)) (Literal (Boolean False))+         , Block+             (Content+                [ SoftBreak+                , Text "{Bad},"+                , Space+                , Text "but"+                , Space+                , Text "we"+                , Space+                , Text "{dont"+                , Text "-"+                , Text "care}!"+                , ParBreak+                ])+         )+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+One.]), +                 parbreak(), +                 parbreak(), +                 parbreak() })
+ test/typ/compiler/if-01.out view
@@ -0,0 +1,163 @@+--- parse tree ---+[ Code+    "typ/compiler/if-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/if-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/if-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/if-01.typ"+    ( line 3 , column 2 )+    (If+       [ ( Block (CodeBlock [ Literal (Boolean True) ])+         , Block (Content [ SoftBreak , Text "One" , Text "." , ParBreak ])+         )+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/if-01.typ"+    ( line 8 , column 2 )+    (If+       [ ( Not (Equals (Block (Content [])) (Literal None))+         , Block (Content [ SoftBreak , Text "Two" , Text "." , ParBreak ])+         )+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/if-01.typ"+    ( line 13 , column 2 )+    (If+       [ ( Equals+             (Plus (Literal (Int 1)) (Literal (Int 1))) (Literal (Int 1))+         , Block (Content [ SoftBreak , Text "Nope" , Text "." , ParBreak ])+         )+       , ( Literal (Boolean True)+         , Block (CodeBlock [ Literal (String "Three.") ])+         )+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/if-01.typ"+    ( line 23 , column 2 )+    (If+       [ ( Literal (Boolean False)+         , Block (Content [ SoftBreak , Text "Bad" , Text "." , ParBreak ])+         )+       , ( Literal (Boolean True)+         , Block+             (CodeBlock+                [ Let+                    (BasicBind (Just (Identifier "point"))) (Literal (String "."))+                , Plus (Literal (String "Four")) (Ident (Identifier "point"))+                ])+         )+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/if-01.typ"+    ( line 31 , column 2 )+    (Block+       (CodeBlock+          [ If+              [ ( Equals+                    (Literal (String "content"))+                    (FuncCall (Ident (Identifier "type")) [ BlockArg [ Text "b" ] ])+                , Block (Content [ Text "Fi" ])+                )+              , ( Literal (Boolean True) , Block (Content [ Text "Nope" ]) )+              ]+          , If+              [ ( Equals (Literal (String "content")) (Ident (Identifier "type"))+                , Block (Content [ Text "Nope" ])+                )+              , ( Literal (Boolean True)+                , Block (Content [ Text "ve" , Text "." ])+                )+              ]+          ]))+, ParBreak+, Code+    "typ/compiler/if-01.typ"+    ( line 36 , column 2 )+    (Let (BasicBind (Just (Identifier "i"))) (Literal (Int 3)))+, SoftBreak+, Code+    "typ/compiler/if-01.typ"+    ( line 37 , column 2 )+    (If+       [ ( LessThan (Ident (Identifier "i")) (Literal (Int 2))+         , Block (Content [ SoftBreak , Text "Five" , Text "." , ParBreak ])+         )+       , ( LessThan (Ident (Identifier "i")) (Literal (Int 4))+         , Block (Content [ SoftBreak , Text "Six" , Text "." , ParBreak ])+         )+       , ( Literal (Boolean True)+         , Block+             (Content [ SoftBreak , Text "Seven" , Text "." , ParBreak ])+         )+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+One.]), +                 parbreak(), +                 parbreak(), +                 text(body: [+Two.]), +                 parbreak(), +                 parbreak(), +                 text(body: [Three.]), +                 parbreak(), +                 text(body: [Four.]), +                 parbreak(), +                 text(body: [Fi]), +                 text(body: [ve.]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [+Six.]), +                 parbreak(), +                 parbreak() })
+ test/typ/compiler/if-02.out view
@@ -0,0 +1,146 @@+--- parse tree ---+[ Code+    "typ/compiler/if-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/if-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/if-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, SoftBreak+, Code+    "typ/compiler/if-02.typ"+    ( line 5 , column 2 )+    (LetFunc+       (Identifier "nth")+       [ NormalParam (Identifier "n") ]+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "str")) [ NormalArg (Ident (Identifier "n")) ]+             , If+                 [ ( Equals (Ident (Identifier "n")) (Literal (Int 1))+                   , Block (CodeBlock [ Literal (String "st") ])+                   )+                 , ( Equals (Ident (Identifier "n")) (Literal (Int 2))+                   , Block (CodeBlock [ Literal (String "nd") ])+                   )+                 , ( Equals (Ident (Identifier "n")) (Literal (Int 3))+                   , Block (CodeBlock [ Literal (String "rd") ])+                   )+                 , ( Literal (Boolean True)+                   , Block (CodeBlock [ Literal (String "th") ])+                   )+                 ]+             ])))+, ParBreak+, Code+    "typ/compiler/if-02.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "nth")) [ NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (String "1st"))+       ])+, SoftBreak+, Code+    "typ/compiler/if-02.typ"+    ( line 14 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "nth")) [ NormalArg (Literal (Int 2)) ])+       , NormalArg (Literal (String "2nd"))+       ])+, SoftBreak+, Code+    "typ/compiler/if-02.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "nth")) [ NormalArg (Literal (Int 3)) ])+       , NormalArg (Literal (String "3rd"))+       ])+, SoftBreak+, Code+    "typ/compiler/if-02.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "nth")) [ NormalArg (Literal (Int 4)) ])+       , NormalArg (Literal (String "4th"))+       ])+, SoftBreak+, Code+    "typ/compiler/if-02.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "nth")) [ NormalArg (Literal (Int 5)) ])+       , NormalArg (Literal (String "5th"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/if-03.out view
@@ -0,0 +1,101 @@+--- parse tree ---+[ Code+    "typ/compiler/if-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/if-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/if-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, SoftBreak+, Code+    "typ/compiler/if-03.typ"+    ( line 5 , column 2 )+    (Block+       (CodeBlock+          [ Let (BasicBind (Just (Identifier "x"))) (Literal (Int 1))+          , Let (BasicBind (Just (Identifier "y"))) (Literal (Int 2))+          , Let (BasicBind (Just (Identifier "z"))) (Literal None)+          , Assign+              (Ident (Identifier "z"))+              (If+                 [ ( LessThan (Ident (Identifier "x")) (Ident (Identifier "y"))+                   , Block (CodeBlock [ Literal (String "ok") ])+                   )+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "z"))+              , NormalArg (Literal (String "ok"))+              ]+          , Assign+              (Ident (Identifier "z"))+              (If+                 [ ( GreaterThan (Ident (Identifier "x")) (Ident (Identifier "y"))+                   , Block (CodeBlock [ Literal (String "bad") ])+                   )+                 , ( Literal (Boolean True)+                   , Block (CodeBlock [ Literal (String "ok") ])+                   )+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "z"))+              , NormalArg (Literal (String "ok"))+              ]+          , Assign+              (Ident (Identifier "z"))+              (If+                 [ ( GreaterThan (Ident (Identifier "x")) (Ident (Identifier "y"))+                   , Block (CodeBlock [ Literal (String "bad") ])+                   )+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "z")) , NormalArg (Literal None) ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/if-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/if-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/if-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-00.out view
@@ -0,0 +1,106 @@+--- parse tree ---+[ Code+    "typ/compiler/import-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/import-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/import-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, SoftBreak+, Comment+, Code+    "typ/compiler/import-00.typ"+    ( line 6 , column 2 )+    (Let+       (BasicBind (Just (Identifier "value")))+       (Block (Content [ Text "foo" ])))+, ParBreak+, Comment+, Code+    "typ/compiler/import-00.typ"+    ( line 9 , column 2 )+    (Import+       (Literal (String "module.typ"))+       (SomeIdentifiers+          [ ( Identifier "fn" , Nothing )+          , ( Identifier "value" , Nothing )+          ]))+, SoftBreak+, Code+    "typ/compiler/import-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "fn"))+       [ BlockArg+           [ Text "Like" , Space , Text "and" , Space , Text "Subscribe!" ]+       ])+, SoftBreak+, Code+    "typ/compiler/import-00.typ"+    ( line 11 , column 2 )+    (Ident (Identifier "value"))+, ParBreak+, Comment+, Comment+, Code+    "typ/compiler/import-00.typ"+    ( line 15 , column 2 )+    (Import+       (Literal (String "module.typ"))+       (SomeIdentifiers+          [ ( Identifier "a" , Nothing ) , ( Identifier "c" , Nothing ) ]))+, Text "bye"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [+]), +                 rect(body: text(body: [Like and Subscribe!]), +                      fill: rgb(18%,80%,25%,100%), +                      inset: 5.0pt), +                 text(body: [+]), +                 text(body: [hi]), +                 parbreak(), +                 text(body: [bye]), +                 parbreak() })
+ test/typ/compiler/import-01.out view
@@ -0,0 +1,115 @@+--- parse tree ---+[ Code+    "typ/compiler/import-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/import-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/import-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/import-01.typ"+    ( line 3 , column 2 )+    (Import+       (Literal (String "module.typ"))+       (SomeIdentifiers [ ( Identifier "item" , Nothing ) ]))+, SoftBreak+, Code+    "typ/compiler/import-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "item"))+              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ])+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+, Comment+, Text "{"+, SoftBreak+, Text "import"+, Space+, Quote '"'+, Text "module"+, Text "."+, Text "typ"+, Quote '"'+, Text ":"+, Space+, Text "b"+, SoftBreak+, Text "test"+, Text "("+, Text "b,"+, Space+, Text "1)"+, SoftBreak+, Text "}"+, ParBreak+, Comment+, Code+    "typ/compiler/import-01.typ"+    ( line 13 , column 2 )+    (Import (Literal (String "module.typ")) AllIdentifiers)+, ParBreak+, Comment+, Code+    "typ/compiler/import-01.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "d"))+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [{+import “module.typ”: b+test(b, 1)+}]), +                 parbreak(), +                 parbreak(), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/import-02.out view
@@ -0,0 +1,108 @@+--- parse tree ---+[ Code+    "typ/compiler/import-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/import-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/import-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, SoftBreak+, Code+    "typ/compiler/import-02.typ"+    ( line 5 , column 2 )+    (Import+       (Ident (Identifier "enum"))+       (SomeIdentifiers [ ( Identifier "item" , Nothing ) ]))+, SoftBreak+, Code+    "typ/compiler/import-02.typ"+    ( line 6 , column 2 )+    (Import+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "assert")))+          [ NormalArg (Literal (Boolean True)) ])+       AllIdentifiers)+, ParBreak+, Code+    "typ/compiler/import-02.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "enum"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "item"))+              [ NormalArg (Literal (Int 1)) , BlockArg [ Text "First" ] ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "item"))+              [ NormalArg (Literal (Int 5)) , BlockArg [ Text "Fifth" ] ])+       ])+, SoftBreak+, Code+    "typ/compiler/import-02.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "eq"))+       [ NormalArg (Literal (Int 10)) , NormalArg (Literal (Int 10)) ])+, SoftBreak+, Code+    "typ/compiler/import-02.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "ne"))+       [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 6)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 enum(children: (enum.item(body: text(body: [First]), +                                           number: 1), +                                 enum.item(body: text(body: [Fifth]), +                                           number: 5))), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak() })
+ test/typ/compiler/import-03.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/compiler/import-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/import-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/import-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/import-03.typ"+    ( line 3 , column 2 )+    (Import (Literal (String "module.typ")) (NoIdentifiers Nothing))+, SoftBreak+, Code+    "typ/compiler/import-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "b")) (Ident (Identifier "module")))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/import-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "item")) (Ident (Identifier "module")))+              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ])+       , NormalArg (Literal (Int 3))+       ])+, SoftBreak+, Code+    "typ/compiler/import-03.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "push")) (Ident (Identifier "module")))+              [ NormalArg (Literal (Int 2)) ])+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/import-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-05.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/compiler/import-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/import-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/import-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/import-05.typ"+    ( line 3 , column 2 )+    (Import (Literal (String "module.typ")) AllIdentifiers)+, ParBreak+, Comment+, Code+    "typ/compiler/import-05.typ"+    ( line 6 , column 2 )+    (Import+       (Literal (String "module.typ"))+       (SomeIdentifiers+          [ ( Identifier "a" , Nothing ) , ( Identifier "c" , Nothing ) ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 parbreak() })
+ test/typ/compiler/import-06.out view
@@ -0,0 +1,90 @@+--- parse tree ---+[ Code+    "typ/compiler/import-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/import-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/import-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/import-06.typ"+    ( line 3 , column 2 )+    (Import (Ident (Identifier "enum")) (NoIdentifiers Nothing))+, SoftBreak+, Code+    "typ/compiler/import-06.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "d")))+       (Dict+          [ Reg ( Ident (Identifier "e") , Ident (Identifier "enum") ) ]))+, SoftBreak+, Code+    "typ/compiler/import-06.typ"+    ( line 5 , column 2 )+    (Import+       (FieldAccess (Ident (Identifier "e")) (Ident (Identifier "d")))+       (NoIdentifiers Nothing))+, SoftBreak+, Code+    "typ/compiler/import-06.typ"+    ( line 6 , column 2 )+    (Import+       (FieldAccess (Ident (Identifier "e")) (Ident (Identifier "d")))+       (SomeIdentifiers [ ( Identifier "item" , Nothing ) ]))+, ParBreak+, Code+    "typ/compiler/import-06.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "item"))+       [ NormalArg (Literal (Int 2)) , BlockArg [ Text "a" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 enum.item(body: text(body: [a]), +                           number: 2), +                 parbreak() })
+ test/typ/compiler/import-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-11.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-12.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-13.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-14.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-15.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-16.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-17.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-18.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-19.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-20.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-21.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-22.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-23.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-24.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/import-25.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/include-00.out view
@@ -0,0 +1,122 @@+--- parse tree ---+[ Code+    "typ/compiler/include-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/include-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/include-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compiler/include-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt)) ])+, ParBreak+, Heading 1 [ Text "Document" ]+, Comment+, Code+    "typ/compiler/include-00.typ"+    ( line 7 , column 2 )+    (Include (Literal (String "modules/chap1.typ")))+, ParBreak+, Comment+, Code+    "typ/compiler/include-00.typ"+    ( line 10 , column 2 )+    (Let+       (BasicBind (Just (Identifier "chap2")))+       (Include+          (Plus+             (Plus (Literal (String "modu")) (Literal (String "les/chap")))+             (Literal (String "2.typ")))))+, ParBreak+, EnDash+, Space+, Emph [ Text "Intermission" ]+, Space+, EnDash+, SoftBreak+, Code+    "typ/compiler/include-00.typ"+    ( line 13 , column 2 )+    (Ident (Identifier "chap2"))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [Document]), +                         level: 1), +                 text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [Chapter 1]), +                         level: 2), +                 text(body: [Klaus]), +                 text(body: [ stood in a field of wheat. There was nothing of particular interest about+the field ]), +                 text(body: [Klaus]), +                 text(body: [ just casually surveyed for any paths on which the corn would not+totally ruin his semi-new outdorsy jacket but then again, most of us spend+considerable time in non-descript environments.]), +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 text(body: [– ]), +                 emph(body: text(body: [Intermission])), +                 text(body: [ –+]), +                 text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [Chapter 2]), +                         level: 2), +                 text(body: [Their motivations, however, were pretty descript, so to speak. ]), +                 text(body: [Klaus]), +                 text(body: [ had not yet+conceptualized their consequences, but that should change pretty quickly. ]), +                 text(body: [Klaus]), +                 text(body: [+approached the center of the field and picked up a 4-foot long disk made from+what could only be cow manure. The hair on the back of ]), +                 text(body: [Klaus]), +                 text(body: [” neck bristled as+he stared at the unusual sight. After studying the object for a while, he+promptly popped the question, “How much?”]), +                 parbreak(), +                 parbreak() })
+ test/typ/compiler/include-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/include-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/include-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/label-00.out view
@@ -0,0 +1,94 @@+--- parse tree ---+[ Code+    "typ/compiler/label-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/label-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/label-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/label-00.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "heading")))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Literal (Numeric 10.0 Pt)) ]))+, SoftBreak+, Code+    "typ/compiler/label-00.typ"+    ( line 4 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "heading")))+             [ KeyValArg (Identifier "label") (Label "intro") ]))+       (Ident (Identifier "underline")))+, ParBreak+, Heading 1 [ Text "Introduction" ]+, Code+    "typ/compiler/label-00.typ" ( line 6 , column 16 ) (Label "intro")+, SoftBreak+, Text "The"+, Space+, Text "beginning"+, Text "."+, ParBreak+, Heading 1 [ Text "Conclusion" ]+, Text "The"+, Space+, Text "end"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [Introduction]), +                         level: 1), +                 <intro>, +                 text(body: [+The beginning.]), +                 parbreak(), +                 heading(body: text(body: [Conclusion]), +                         level: 1), +                 text(body: [The end.]), +                 parbreak() })
+ test/typ/compiler/label-01.out view
@@ -0,0 +1,95 @@+--- parse tree ---+[ Code+    "typ/compiler/label-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/label-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/label-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/label-01.typ"+    ( line 3 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "strong")))+             [ KeyValArg (Identifier "label") (Label "v") ]))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Ident (Identifier "red")) ]))+, ParBreak+, Code+    "typ/compiler/label-01.typ"+    ( line 5 , column 2 )+    (Let+       (BasicBind (Just (Identifier "a")))+       (Block (Content [ Strong [ Text "A" ] ])))+, SoftBreak+, Code+    "typ/compiler/label-01.typ"+    ( line 6 , column 2 )+    (Let+       (BasicBind (Just (Identifier "b")))+       (Block (Content [ Strong [ Text "B" ] ])))+, SoftBreak+, Code+    "typ/compiler/label-01.typ"+    ( line 7 , column 2 )+    (Ident (Identifier "a"))+, Space+, Code+    "typ/compiler/label-01.typ" ( line 7 , column 4 ) (Label "v")+, Code+    "typ/compiler/label-01.typ"+    ( line 7 , column 9 )+    (Ident (Identifier "b"))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [+]), +                 strong(body: text(body: [A])), +                 text(body: [ ]), +                 <v>, +                 strong(body: text(body: [B])), +                 parbreak() })
− test/typ/compiler/label-02.typ
@@ -1,8 +0,0 @@-// Test labelled text.-#show "t": it => {-  set text(blue) if it.has("label") and it.label == <last>-  it-}--This is a thing #[that <last>] happened.-
+ test/typ/compiler/label-03.out view
@@ -0,0 +1,96 @@+--- parse tree ---+[ Code+    "typ/compiler/label-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/label-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/label-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/label-03.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Label "red"))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Ident (Identifier "red")) ]))+, SoftBreak+, Code+    "typ/compiler/label-03.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Label "blue"))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Ident (Identifier "blue")) ]))+, ParBreak+, Strong [ Text "A" ]+, Space+, Strong [ Text "B" ]+, Space+, Code+    "typ/compiler/label-03.typ" ( line 6 , column 9 ) (Label "red")+, Strong [ Text "C" ]+, Space+, Code+    "typ/compiler/label-03.typ"+    ( line 6 , column 20 )+    (FuncCall+       (Ident (Identifier "label"))+       [ NormalArg (Plus (Literal (String "bl")) (Literal (String "ue")))+       ])+, Space+, Strong [ Text "D" ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 strong(body: text(body: [A])), +                 text(body: [ ]), +                 strong(body: text(body: [B])), +                 text(body: [ ]), +                 <red>, +                 strong(body: text(body: [C])), +                 text(body: [ ]), +                 <blue>, +                 text(body: [ ]), +                 strong(body: text(body: [D])), +                 parbreak() })
+ test/typ/compiler/label-04.out view
@@ -0,0 +1,76 @@+--- parse tree ---+[ Code+    "typ/compiler/label-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/label-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/label-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/label-04.typ"+    ( line 3 , column 2 )+    (Show (Just (Label "hide")) (Literal None))+, ParBreak+, Emph [ Text "Hidden" ]+, SoftBreak+, Code+    "typ/compiler/label-04.typ" ( line 6 , column 1 ) (Label "hide")+, ParBreak+, Emph [ Text "Hidden" ]+, ParBreak+, Code+    "typ/compiler/label-04.typ" ( line 10 , column 1 ) (Label "hide")+, SoftBreak+, Emph [ Text "Visible" ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 emph(body: text(body: [Hidden])), +                 text(body: [+]), +                 <hide>, +                 parbreak(), +                 emph(body: text(body: [Hidden])), +                 parbreak(), +                 <hide>, +                 text(body: [+]), +                 emph(body: text(body: [Visible])), +                 parbreak() })
+ test/typ/compiler/label-05.out view
@@ -0,0 +1,83 @@+--- parse tree ---+[ Code+    "typ/compiler/label-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/label-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/label-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/label-05.typ"+    ( line 3 , column 2 )+    (Show (Just (Label "strike")) (Ident (Identifier "strike")))+, SoftBreak+, Strong [ Text "This" , Space , Text "is" ]+, Space+, Code+    "typ/compiler/label-05.typ"+    ( line 4 , column 12 )+    (Block+       (Content+          [ Code+              "typ/compiler/label-05.typ" ( line 4 , column 13 ) (Label "strike")+          ]))+, Space+, Strong [ Text "protected" , Text "." ]+, SoftBreak+, Strong+    [ Text "This" , Space , Text "is" , Space , Text "not" , Text "." ]+, Space+, Code+    "typ/compiler/label-05.typ" ( line 5 , column 16 ) (Label "strike")+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 strong(body: text(body: [This is])), +                 text(body: [ ]), +                 <strike>, +                 text(body: [ ]), +                 strong(body: text(body: [protected.])), +                 text(body: [+]), +                 strong(body: text(body: [This is not.])), +                 text(body: [ ]), +                 <strike>, +                 parbreak() })
+ test/typ/compiler/label-06.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/compiler/label-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/label-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/label-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "1"+, Space+, Text "<"+, Space+, Text "2"+, Space+, Text "is"+, Space+, Code+    "typ/compiler/label-06.typ"+    ( line 3 , column 11 )+    (If+       [ ( LessThan (Literal (Int 1)) (Literal (Int 2))+         , Block (Content [ Text "not" ])+         )+       ])+, Space+, Text "a"+, Space+, Text "label"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [1 < 2 is ]), +                 text(body: [not]), +                 text(body: [ a label.]), +                 parbreak() })
+ test/typ/compiler/let-00.out view
@@ -0,0 +1,117 @@+--- parse tree ---+[ Code+    "typ/compiler/let-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/let-00.typ"+    ( line 3 , column 2 )+    (Let (BasicBind (Just (Identifier "x"))) (Literal None))+, SoftBreak+, Code+    "typ/compiler/let-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x")) , NormalArg (Literal None) ])+, ParBreak+, Comment+, Code+    "typ/compiler/let-00.typ"+    ( line 7 , column 2 )+    (Let (BasicBind (Just (Identifier "z"))) (Literal (Int 1)))+, SoftBreak+, Code+    "typ/compiler/let-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "z"))+       , NormalArg (Literal (Int 1))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/let-00.typ"+    ( line 11 , column 2 )+    (Let+       (BasicBind (Just (Identifier "fill")))+       (Ident (Identifier "green")))+, SoftBreak+, Code+    "typ/compiler/let-00.typ"+    ( line 12 , column 2 )+    (LetFunc+       (Identifier "f")+       [ NormalParam (Identifier "body") ]+       (FuncCall+          (Ident (Identifier "rect"))+          [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Cm))+          , KeyValArg (Identifier "fill") (Ident (Identifier "fill"))+          , KeyValArg (Identifier "inset") (Literal (Numeric 5.0 Pt))+          , NormalArg (Ident (Identifier "body"))+          ]))+, SoftBreak+, Code+    "typ/compiler/let-00.typ"+    ( line 13 , column 2 )+    (FuncCall (Ident (Identifier "f")) [ BlockArg [ Text "Hi!" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [+]), +                 rect(body: text(body: [Hi!]), +                      fill: rgb(18%,80%,25%,100%), +                      inset: 5.0pt, +                      width: 2.0cm), +                 parbreak() })
+ test/typ/compiler/let-01.out view
@@ -0,0 +1,116 @@+--- parse tree ---+[ Code+    "typ/compiler/let-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/compiler/let-01.typ"+    ( line 5 , column 2 )+    (Let (BasicBind (Just (Identifier "v1"))) (Literal (Int 1)))+, SoftBreak+, Text "One"+, ParBreak+, Comment+, Code+    "typ/compiler/let-01.typ"+    ( line 9 , column 2 )+    (Let (BasicBind (Just (Identifier "v2"))) (Literal (Int 2)))+, Space+, Text "Two"+, ParBreak+, Comment+, Code+    "typ/compiler/let-01.typ"+    ( line 12 , column 2 )+    (Let (BasicBind (Just (Identifier "v3"))) (Literal (Int 3)))+, SoftBreak+, Text "Three"+, ParBreak+, Code+    "typ/compiler/let-01.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "v1"))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/let-01.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "v2"))+       , NormalArg (Literal (Int 2))+       ])+, SoftBreak+, Code+    "typ/compiler/let-01.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "v3"))+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+One]), +                 parbreak(), +                 text(body: [ Two]), +                 parbreak(), +                 text(body: [+Three]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-02.out view
@@ -0,0 +1,55 @@+--- parse tree ---+[ Code+    "typ/compiler/let-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-02.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "a")))+       (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak() })
+ test/typ/compiler/let-03.out view
@@ -0,0 +1,82 @@+--- parse tree ---+[ Code+    "typ/compiler/let-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-03.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ Simple (Just (Identifier "a"))+          , Simple (Just (Identifier "b"))+          ])+       (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))+, SoftBreak+, Code+    "typ/compiler/let-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a"))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/let-03.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "b"))+       , NormalArg (Literal (Int 2))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-04.out view
@@ -0,0 +1,66 @@+--- parse tree ---+[ Code+    "typ/compiler/let-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/let-04.typ"+    ( line 3 , column 2 )+    (Let+       (DestructuringBind [ Simple (Just (Identifier "a")) ])+       (Array [ Reg (Literal (Int 1)) ]))+, SoftBreak+, Code+    "typ/compiler/let-04.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a"))+       , NormalArg (Literal (Int 1))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-05.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/compiler/let-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-05.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ Simple (Just (Identifier "a"))+          , Simple Nothing+          , Simple (Just (Identifier "c"))+          , Simple Nothing+          ])+       (Array+          [ Reg (Literal (Int 1))+          , Reg (Literal (Int 2))+          , Reg (Literal (Int 3))+          , Reg (Literal (Int 4))+          ]))+, SoftBreak+, Code+    "typ/compiler/let-05.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a"))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/let-05.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "c"))+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-06.out view
@@ -0,0 +1,108 @@+--- parse tree ---+[ Code+    "typ/compiler/let-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-06.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ Simple (Just (Identifier "a"))+          , Simple (Just (Identifier "b"))+          , Sink (Just (Identifier "c"))+          ])+       (Array+          [ Reg (Literal (Int 1))+          , Reg (Literal (Int 2))+          , Reg (Literal (Int 3))+          , Reg (Literal (Int 4))+          , Reg (Literal (Int 5))+          , Reg (Literal (Int 6))+          ]))+, SoftBreak+, Code+    "typ/compiler/let-06.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a"))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/let-06.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "b"))+       , NormalArg (Literal (Int 2))+       ])+, SoftBreak+, Code+    "typ/compiler/let-06.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "c"))+       , NormalArg+           (Array+              [ Reg (Literal (Int 3))+              , Reg (Literal (Int 4))+              , Reg (Literal (Int 5))+              , Reg (Literal (Int 6))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-07.out view
@@ -0,0 +1,108 @@+--- parse tree ---+[ Code+    "typ/compiler/let-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-07.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ Simple (Just (Identifier "a"))+          , Sink (Just (Identifier "b"))+          , Simple (Just (Identifier "c"))+          ])+       (Array+          [ Reg (Literal (Int 1))+          , Reg (Literal (Int 2))+          , Reg (Literal (Int 3))+          , Reg (Literal (Int 4))+          , Reg (Literal (Int 5))+          , Reg (Literal (Int 6))+          ]))+, SoftBreak+, Code+    "typ/compiler/let-07.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a"))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/let-07.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "b"))+       , NormalArg+           (Array+              [ Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              , Reg (Literal (Int 4))+              , Reg (Literal (Int 5))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/let-07.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "c"))+       , NormalArg (Literal (Int 6))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-08.out view
@@ -0,0 +1,93 @@+--- parse tree ---+[ Code+    "typ/compiler/let-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-08.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ Sink (Just (Identifier "a"))+          , Simple (Just (Identifier "b"))+          , Simple (Just (Identifier "c"))+          ])+       (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))+, SoftBreak+, Code+    "typ/compiler/let-08.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a")) , NormalArg (Array []) ])+, SoftBreak+, Code+    "typ/compiler/let-08.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "b"))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/let-08.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "c"))+       , NormalArg (Literal (Int 2))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-09.out view
@@ -0,0 +1,93 @@+--- parse tree ---+[ Code+    "typ/compiler/let-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-09.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ Simple (Just (Identifier "a"))+          , Sink (Just (Identifier "b"))+          , Simple (Just (Identifier "c"))+          ])+       (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))+, SoftBreak+, Code+    "typ/compiler/let-09.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a"))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/let-09.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "b")) , NormalArg (Array []) ])+, SoftBreak+, Code+    "typ/compiler/let-09.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "c"))+       , NormalArg (Literal (Int 2))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-10.out view
@@ -0,0 +1,93 @@+--- parse tree ---+[ Code+    "typ/compiler/let-10.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-10.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-10.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-10.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ Simple (Just (Identifier "a"))+          , Simple (Just (Identifier "b"))+          , Sink (Just (Identifier "c"))+          ])+       (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ]))+, SoftBreak+, Code+    "typ/compiler/let-10.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a"))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/let-10.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "b"))+       , NormalArg (Literal (Int 2))+       ])+, SoftBreak+, Code+    "typ/compiler/let-10.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "c")) , NormalArg (Array []) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-11.out view
@@ -0,0 +1,64 @@+--- parse tree ---+[ Code+    "typ/compiler/let-11.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-11.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-11.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-11.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind [ Sink (Just (Identifier "a")) ]) (Array []))+, SoftBreak+, Code+    "typ/compiler/let-11.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a")) , NormalArg (Array []) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-12.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-13.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-14.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-15.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-16.out view
@@ -0,0 +1,99 @@+--- parse tree ---+[ Code+    "typ/compiler/let-16.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-16.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-16.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-16.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ WithKey (Identifier "a") (Just (Identifier "a"))+          , Simple (Just (Identifier "b"))+          , WithKey (Identifier "x") (Just (Identifier "c"))+          ])+       (Dict+          [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+          , Reg ( Ident (Identifier "b") , Literal (Int 2) )+          , Reg ( Ident (Identifier "x") , Literal (Int 3) )+          ]))+, SoftBreak+, Code+    "typ/compiler/let-16.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a"))+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compiler/let-16.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "b"))+       , NormalArg (Literal (Int 2))+       ])+, SoftBreak+, Code+    "typ/compiler/let-16.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "c"))+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-17.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/compiler/let-17.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-17.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-17.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-17.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ WithKey (Identifier "a") Nothing+          , Sink (Just (Identifier "b"))+          ])+       (Dict+          [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+          , Reg ( Ident (Identifier "b") , Literal (Int 2) )+          , Reg ( Ident (Identifier "c") , Literal (Int 3) )+          ]))+, SoftBreak+, Code+    "typ/compiler/let-17.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "b"))+       , NormalArg+           (Dict+              [ Reg ( Ident (Identifier "b") , Literal (Int 2) )+              , Reg ( Ident (Identifier "c") , Literal (Int 3) )+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-18.out view
@@ -0,0 +1,76 @@+--- parse tree ---+[ Code+    "typ/compiler/let-18.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-18.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-18.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-18.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ WithKey (Identifier "a") Nothing+          , Sink (Just (Identifier "b"))+          , WithKey (Identifier "c") Nothing+          ])+       (Dict+          [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+          , Reg ( Ident (Identifier "b") , Literal (Int 2) )+          , Reg ( Ident (Identifier "c") , Literal (Int 3) )+          ]))+, SoftBreak+, Code+    "typ/compiler/let-18.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "b"))+       , NormalArg+           (Dict [ Reg ( Ident (Identifier "b") , Literal (Int 2) ) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-19.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/compiler/let-19.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-19.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-19.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-19.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ WithKey (Identifier "a") Nothing+          , Sink (Just (Identifier "b"))+          ])+       (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ]))+, SoftBreak+, Code+    "typ/compiler/let-19.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "b")) , NormalArg (Dict []) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-20.out view
@@ -0,0 +1,64 @@+--- parse tree ---+[ Code+    "typ/compiler/let-20.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-20.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-20.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-20.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind [ Sink (Just (Identifier "a")) ]) (Dict []))+, SoftBreak+, Code+    "typ/compiler/let-20.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a")) , NormalArg (Dict []) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-21.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/compiler/let-21.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/let-21.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/let-21.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/let-21.typ"+    ( line 4 , column 2 )+    (Let+       (DestructuringBind+          [ Simple (Just (Identifier "a")) , Sink Nothing ])+       (Dict+          [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+          , Reg ( Ident (Identifier "b") , Literal (Int 2) )+          ]))+, SoftBreak+, Code+    "typ/compiler/let-21.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "a"))+       , NormalArg (Literal (Int 1))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/let-22.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-23.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-24.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-25.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-26.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-27.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-28.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/let-29.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/methods-00.out view
@@ -0,0 +1,63 @@+--- parse tree ---+[ Code+    "typ/compiler/methods-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/methods-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/methods-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/methods-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "split")) (Literal (String "Hi there")))+              [])+       , NormalArg+           (Array+              [ Reg (Literal (String "Hi")) , Reg (Literal (String "there")) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/methods-01.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/compiler/methods-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/methods-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/methods-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/methods-01.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "matrix")))+              (Array+                 [ Reg+                     (Array+                        [ Reg (Array [ Reg (Literal (Int 1)) ])+                        , Reg (Array [ Reg (Literal (Int 2)) ])+                        ])+                 , Reg+                     (Array+                        [ Reg (Array [ Reg (Literal (Int 3)) ])+                        , Reg (Array [ Reg (Literal (Int 4)) ])+                        ])+                 ])+          , FuncCall+              (FieldAccess+                 (Ident (Identifier "push"))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "at"))+                       (FuncCall+                          (FieldAccess+                             (Ident (Identifier "at")) (Ident (Identifier "matrix")))+                          [ NormalArg (Literal (Int 1)) ]))+                    [ NormalArg (Literal (Int 0)) ]))+              [ NormalArg (Literal (Int 5)) ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "matrix"))+              , NormalArg+                  (Array+                     [ Reg+                         (Array+                            [ Reg (Array [ Reg (Literal (Int 1)) ])+                            , Reg (Array [ Reg (Literal (Int 2)) ])+                            ])+                     , Reg+                         (Array+                            [ Reg (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 5)) ])+                            , Reg (Array [ Reg (Literal (Int 4)) ])+                            ])+                     ])+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/methods-02.out view
@@ -0,0 +1,101 @@+--- parse tree ---+[ Code+    "typ/compiler/methods-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/methods-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/methods-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/methods-02.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "rewritten")))+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "join"))+                    (FuncCall+                       (FieldAccess+                          (Ident (Identifier "map"))+                          (FuncCall+                             (FieldAccess+                                (Ident (Identifier "filter"))+                                (FuncCall+                                   (FieldAccess+                                      (Ident (Identifier "map"))+                                      (FuncCall+                                         (FieldAccess+                                            (Ident (Identifier "split"))+                                            (Literal+                                               (String "Hello. This is a sentence. And one more.")))+                                         [ NormalArg (Literal (String ".")) ]))+                                   [ NormalArg+                                       (FuncExpr+                                          [ NormalParam (Identifier "s") ]+                                          (FuncCall+                                             (FieldAccess+                                                (Ident (Identifier "trim"))+                                                (Ident (Identifier "s")))+                                             []))+                                   ]))+                             [ NormalArg+                                 (FuncExpr+                                    [ NormalParam (Identifier "s") ]+                                    (Not (Equals (Ident (Identifier "s")) (Literal (String "")))))+                             ]))+                       [ NormalArg+                           (FuncExpr+                              [ NormalParam (Identifier "s") ]+                              (Plus (Ident (Identifier "s")) (Literal (String "!"))))+                       ]))+                 [ NormalArg (Literal (String "\n ")) ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Ident (Identifier "rewritten"))+              , NormalArg+                  (Literal (String "Hello!\n This is a sentence!\n And one more!"))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/methods-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/methods-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/methods-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/methods-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/module.out view
@@ -0,0 +1,131 @@+--- parse tree ---+[ Code+    "typ/compiler/module.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/module.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/module.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, SoftBreak+, Code+    "typ/compiler/module.typ"+    ( line 5 , column 2 )+    (Let (BasicBind (Just (Identifier "a"))) (Literal None))+, SoftBreak+, Code+    "typ/compiler/module.typ"+    ( line 6 , column 2 )+    (Let (BasicBind (Just (Identifier "b"))) (Literal (Int 1)))+, SoftBreak+, Code+    "typ/compiler/module.typ"+    ( line 7 , column 2 )+    (Let (BasicBind (Just (Identifier "c"))) (Literal (Int 2)))+, SoftBreak+, Code+    "typ/compiler/module.typ"+    ( line 8 , column 2 )+    (Let (BasicBind (Just (Identifier "d"))) (Literal (Int 3)))+, SoftBreak+, Code+    "typ/compiler/module.typ"+    ( line 9 , column 2 )+    (Let+       (BasicBind (Just (Identifier "value")))+       (Block (Content [ Text "hi" ])))+, SoftBreak+, Code+    "typ/compiler/module.typ"+    ( line 10 , column 2 )+    (LetFunc+       (Identifier "item")+       [ NormalParam (Identifier "a") , NormalParam (Identifier "b") ]+       (Plus (Ident (Identifier "a")) (Ident (Identifier "b"))))+, SoftBreak+, Code+    "typ/compiler/module.typ"+    ( line 11 , column 2 )+    (LetFunc+       (Identifier "push")+       [ NormalParam (Identifier "a") ]+       (Plus (Ident (Identifier "a")) (Literal (Int 1))))+, SoftBreak+, Code+    "typ/compiler/module.typ"+    ( line 12 , column 2 )+    (Let+       (BasicBind (Just (Identifier "fn")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "rect")))+          [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+          , KeyValArg (Identifier "inset") (Literal (Numeric 5.0 Pt))+          ]))+, ParBreak+, Text "Some"+, Space+, Emph [ Text "includable" ]+, Space+, Text "text"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [Some ]), +                 emph(body: text(body: [includable])), +                 text(body: [ text.]), +                 parbreak() })
+ test/typ/compiler/modules/chap1.out view
@@ -0,0 +1,173 @@+--- parse tree ---+[ Code+    "typ/compiler/modules/chap1.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/modules/chap1.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/modules/chap1.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/modules/chap1.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "name"))) (Literal (String "Klaus")))+, ParBreak+, Heading 2 [ Text "Chapter" , Space , Text "1" ]+, Code+    "typ/compiler/modules/chap1.typ"+    ( line 7 , column 2 )+    (Ident (Identifier "name"))+, Space+, Text "stood"+, Space+, Text "in"+, Space+, Text "a"+, Space+, Text "field"+, Space+, Text "of"+, Space+, Text "wheat"+, Text "."+, Space+, Text "There"+, Space+, Text "was"+, Space+, Text "nothing"+, Space+, Text "of"+, Space+, Text "particular"+, Space+, Text "interest"+, Space+, Text "about"+, SoftBreak+, Text "the"+, Space+, Text "field"+, Space+, Code+    "typ/compiler/modules/chap1.typ"+    ( line 8 , column 12 )+    (Ident (Identifier "name"))+, Space+, Text "just"+, Space+, Text "casually"+, Space+, Text "surveyed"+, Space+, Text "for"+, Space+, Text "any"+, Space+, Text "paths"+, Space+, Text "on"+, Space+, Text "which"+, Space+, Text "the"+, Space+, Text "corn"+, Space+, Text "would"+, Space+, Text "not"+, SoftBreak+, Text "totally"+, Space+, Text "ruin"+, Space+, Text "his"+, Space+, Text "semi"+, Text "-"+, Text "new"+, Space+, Text "outdorsy"+, Space+, Text "jacket"+, Space+, Text "but"+, Space+, Text "then"+, Space+, Text "again,"+, Space+, Text "most"+, Space+, Text "of"+, Space+, Text "us"+, Space+, Text "spend"+, SoftBreak+, Text "considerable"+, Space+, Text "time"+, Space+, Text "in"+, Space+, Text "non"+, Text "-"+, Text "descript"+, Space+, Text "environments"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [Chapter 1]), +                         level: 2), +                 text(body: [Klaus]), +                 text(body: [ stood in a field of wheat. There was nothing of particular interest about+the field ]), +                 text(body: [Klaus]), +                 text(body: [ just casually surveyed for any paths on which the corn would not+totally ruin his semi-new outdorsy jacket but then again, most of us spend+considerable time in non-descript environments.]), +                 parbreak() })
+ test/typ/compiler/modules/chap2.out view
@@ -0,0 +1,238 @@+--- parse tree ---+[ Code+    "typ/compiler/modules/chap2.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/modules/chap2.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/modules/chap2.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/modules/chap2.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "name"))) (Literal (String "Klaus")))+, ParBreak+, Heading 2 [ Text "Chapter" , Space , Text "2" ]+, Text "Their"+, Space+, Text "motivations,"+, Space+, Text "however,"+, Space+, Text "were"+, Space+, Text "pretty"+, Space+, Text "descript,"+, Space+, Text "so"+, Space+, Text "to"+, Space+, Text "speak"+, Text "."+, Space+, Code+    "typ/compiler/modules/chap2.typ"+    ( line 7 , column 65 )+    (Ident (Identifier "name"))+, Space+, Text "had"+, Space+, Text "not"+, Space+, Text "yet"+, SoftBreak+, Text "conceptualized"+, Space+, Text "their"+, Space+, Text "consequences,"+, Space+, Text "but"+, Space+, Text "that"+, Space+, Text "should"+, Space+, Text "change"+, Space+, Text "pretty"+, Space+, Text "quickly"+, Text "."+, Space+, Code+    "typ/compiler/modules/chap2.typ"+    ( line 8 , column 76 )+    (Ident (Identifier "name"))+, SoftBreak+, Text "approached"+, Space+, Text "the"+, Space+, Text "center"+, Space+, Text "of"+, Space+, Text "the"+, Space+, Text "field"+, Space+, Text "and"+, Space+, Text "picked"+, Space+, Text "up"+, Space+, Text "a"+, Space+, Text "4"+, Text "-"+, Text "foot"+, Space+, Text "long"+, Space+, Text "disk"+, Space+, Text "made"+, Space+, Text "from"+, SoftBreak+, Text "what"+, Space+, Text "could"+, Space+, Text "only"+, Space+, Text "be"+, Space+, Text "cow"+, Space+, Text "manure"+, Text "."+, Space+, Text "The"+, Space+, Text "hair"+, Space+, Text "on"+, Space+, Text "the"+, Space+, Text "back"+, Space+, Text "of"+, Space+, Code+    "typ/compiler/modules/chap2.typ"+    ( line 10 , column 57 )+    (Ident (Identifier "name"))+, Quote '\''+, Space+, Text "neck"+, Space+, Text "bristled"+, Space+, Text "as"+, SoftBreak+, Text "he"+, Space+, Text "stared"+, Space+, Text "at"+, Space+, Text "the"+, Space+, Text "unusual"+, Space+, Text "sight"+, Text "."+, Space+, Text "After"+, Space+, Text "studying"+, Space+, Text "the"+, Space+, Text "object"+, Space+, Text "for"+, Space+, Text "a"+, Space+, Text "while,"+, Space+, Text "he"+, SoftBreak+, Text "promptly"+, Space+, Text "popped"+, Space+, Text "the"+, Space+, Text "question,"+, Space+, Quote '"'+, Text "How"+, Space+, Text "much?"+, Quote '"'+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [Chapter 2]), +                         level: 2), +                 text(body: [Their motivations, however, were pretty descript, so to speak. ]), +                 text(body: [Klaus]), +                 text(body: [ had not yet+conceptualized their consequences, but that should change pretty quickly. ]), +                 text(body: [Klaus]), +                 text(body: [+approached the center of the field and picked up a 4-foot long disk made from+what could only be cow manure. The hair on the back of ]), +                 text(body: [Klaus]), +                 text(body: [” neck bristled as+he stared at the unusual sight. After studying the object for a while, he+promptly popped the question, “How much?”]), +                 parbreak() })
+ test/typ/compiler/modules/cycle1.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/modules/cycle2.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-00.out view
@@ -0,0 +1,58 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/ops-00.typ"+    ( line 4 , column 2 )+    (Plus+       (Block (Content [ Strong [ Text "Hello" ] , Space ]))+       (Block (Content [ Text "world!" ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 strong(body: text(body: [Hello])), +                 text(body: [ ]), +                 text(body: [world!]), +                 parbreak() })
+ test/typ/compiler/ops-01.out view
@@ -0,0 +1,251 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/compiler/ops-01.typ"+    ( line 5 , column 2 )+    (For+       (BasicBind (Just (Identifier "v")))+       (Array+          [ Reg (Literal (Int 1))+          , Reg (Literal (Float 3.14))+          , Reg (Literal (Numeric 12.0 Pt))+          , Reg (Literal (Numeric 45.0 Deg))+          , Reg (Literal (Numeric 90.0 Percent))+          , Reg+              (Plus (Literal (Numeric 13.0 Percent)) (Literal (Numeric 10.0 Pt)))+          , Reg (Literal (Numeric 6.3 Fr))+          ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "test"))+                 [ NormalArg (Ident (Identifier "v"))+                 , NormalArg (Ident (Identifier "v"))+                 ]+             , FuncCall+                 (Ident (Identifier "test"))+                 [ NormalArg (Negated (Ident (Identifier "v")))+                 , NormalArg+                     (Times (Negated (Literal (Int 1))) (Ident (Identifier "v")))+                 ]+             , FuncCall+                 (Ident (Identifier "test"))+                 [ NormalArg (Negated (Negated (Ident (Identifier "v"))))+                 , NormalArg (Ident (Identifier "v"))+                 ]+             , FuncCall+                 (Ident (Identifier "test"))+                 [ NormalArg (Negated (Negated (Negated (Ident (Identifier "v")))))+                 , NormalArg (Negated (Ident (Identifier "v")))+                 ]+             ])))+, ParBreak+, Code+    "typ/compiler/ops-01.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Negated (Plus (Literal (Int 4)) (Literal (Int 2))))+       , NormalArg (Minus (Literal (Int 6)) (Literal (Int 12)))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-01.typ"+    ( line 20 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Plus (Literal (Int 2)) (Literal (Int 4)))+       , NormalArg (Literal (Int 6))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-01.typ"+    ( line 21 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Plus (Literal (String "a")) (Literal (String "b")))+       , NormalArg (Literal (String "ab"))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-01.typ"+    ( line 22 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Plus+              (Literal (String "a"))+              (If+                 [ ( Literal (Boolean False)+                   , Block (CodeBlock [ Literal (String "b") ])+                   )+                 ]))+       , NormalArg (Literal (String "a"))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-01.typ"+    ( line 23 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Plus+              (Literal (String "a"))+              (If+                 [ ( Literal (Boolean True)+                   , Block (CodeBlock [ Literal (String "b") ])+                   )+                 ]))+       , NormalArg (Literal (String "ab"))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-01.typ"+    ( line 24 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Plus+              (Times (Literal (Int 13)) (Literal (String "a")))+              (Literal (String "bbbbbb")))+       , NormalArg (Literal (String "aaaaaaaaaaaaabbbbbb"))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-01.typ"+    ( line 25 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Plus+              (Array [ Reg (Literal (Int 1)) , Reg (Literal (Int 2)) ])+              (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 4)) ]))+       , NormalArg+           (Array+              [ Reg (Literal (Int 1))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              , Reg (Literal (Int 4))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/ops-01.typ"+    ( line 26 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Plus+              (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ])+              (Dict+                 [ Reg ( Ident (Identifier "b") , Literal (Int 2) )+                 , Reg ( Ident (Identifier "c") , Literal (Int 3) )+                 ]))+       , NormalArg+           (Dict+              [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+              , Reg ( Ident (Identifier "b") , Literal (Int 2) )+              , Reg ( Ident (Identifier "c") , Literal (Int 3) )+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-03.out view
@@ -0,0 +1,687 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/ops-03.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Minus (Literal (Int 1)) (Literal (Int 4)))+       , NormalArg (Times (Literal (Int 3)) (Negated (Literal (Int 1))))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Minus (Literal (Numeric 4.0 Cm)) (Literal (Numeric 2.0 Cm)))+       , NormalArg (Literal (Numeric 2.0 Cm))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (ToPower+              (Minus (Literal (Int 2)) (Literal (Float 1.0e-2)))+              (Literal (Int 1)))+       , NormalArg (Literal (Float 99.99))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-03.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Times (Literal (Int 2)) (Literal (Int 4)))+       , NormalArg (Literal (Int 8))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-03.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Divided (Literal (Numeric 12.0 Pt)) (Literal (Float 0.4)))+       , NormalArg (Literal (Numeric 30.0 Pt))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-03.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Divided (Literal (Int 7)) (Literal (Int 2)))+       , NormalArg (Literal (Float 3.5))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-03.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (LessThan+              (Minus+                 (Literal (Int 3)) (Times (Literal (Int 4)) (Literal (Int 5))))+              (Negated (Literal (Int 10))))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-03.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Block+              (CodeBlock+                 [ Let (BasicBind (Just (Identifier "x"))) (Literal None)+                 , Assign+                     (Ident (Identifier "x"))+                     (And+                        (GreaterThanOrEqual+                           (Plus+                              (Literal (Int 1)) (Times (Literal (Int 4)) (Literal (Int 5))))+                           (Literal (Int 21)))+                        (Block+                           (CodeBlock+                              [ Assign (Ident (Identifier "x")) (Literal (String "a"))+                              , Equals+                                  (Plus (Ident (Identifier "x")) (Literal (String "b")))+                                  (Literal (String "ab"))+                              ])))+                 , Ident (Identifier "x")+                 ]))+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-03.typ"+    ( line 19 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Plus+              (If+                 [ ( Literal (Boolean True)+                   , Block (CodeBlock [ Literal (Int 1) ])+                   )+                 ])+              (Literal (Int 2)))+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-03.typ"+    ( line 24 , column 2 )+    (Let+       (BasicBind (Just (Identifier "nums")))+       (Array+          [ Reg (Literal (Int 1))+          , Reg (Literal (Float 3.14))+          , Reg (Literal (Numeric 12.0 Pt))+          , Reg (Literal (Numeric 3.0 Em))+          , Reg (Plus (Literal (Numeric 12.0 Pt)) (Literal (Numeric 3.0 Em)))+          , Reg (Literal (Numeric 45.0 Deg))+          , Reg (Literal (Numeric 90.0 Percent))+          , Reg+              (Plus (Literal (Numeric 13.0 Percent)) (Literal (Numeric 10.0 Pt)))+          , Reg+              (Plus+                 (Plus (Literal (Numeric 5.0 Percent)) (Literal (Numeric 1.0 Em)))+                 (Literal (Numeric 3.0 Pt)))+          , Reg (Literal (Numeric 2.3 Fr))+          ]))+, ParBreak+, Code+    "typ/compiler/ops-03.typ"+    ( line 33 , column 2 )+    (For+       (BasicBind (Just (Identifier "v")))+       (Ident (Identifier "nums"))+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "test"))+                 [ NormalArg+                     (Minus+                        (Plus (Ident (Identifier "v")) (Ident (Identifier "v")))+                        (Ident (Identifier "v")))+                 , NormalArg (Ident (Identifier "v"))+                 ]+             , FuncCall+                 (Ident (Identifier "test"))+                 [ NormalArg+                     (Minus+                        (Minus (Ident (Identifier "v")) (Ident (Identifier "v")))+                        (Ident (Identifier "v")))+                 , NormalArg (Negated (Ident (Identifier "v")))+                 ]+             , FuncCall+                 (Ident (Identifier "test"))+                 [ NormalArg+                     (Minus (Ident (Identifier "v")) (Ident (Identifier "v")))+                 , NormalArg (Times (Literal (Int 0)) (Ident (Identifier "v")))+                 ]+             , FuncCall+                 (Ident (Identifier "test"))+                 [ NormalArg+                     (Plus (Ident (Identifier "v")) (Ident (Identifier "v")))+                 , NormalArg (Times (Literal (Int 2)) (Ident (Identifier "v")))+                 ]+             , If+                 [ ( Not+                       (Equals+                          (FuncCall+                             (Ident (Identifier "type")) [ NormalArg (Ident (Identifier "v")) ])+                          (Literal (String "integer")))+                   , Block+                       (CodeBlock+                          [ FuncCall+                              (Ident (Identifier "test"))+                              [ NormalArg+                                  (Plus (Ident (Identifier "v")) (Ident (Identifier "v")))+                              , NormalArg (Times (Literal (Float 2.0)) (Ident (Identifier "v")))+                              ]+                          ])+                   )+                 ]+             , If+                 [ ( And+                       (Not+                          (InCollection+                             (Literal (String "relative"))+                             (FuncCall+                                (Ident (Identifier "type"))+                                [ NormalArg (Ident (Identifier "v")) ])))+                       (Or+                          (Not+                             (InCollection+                                (Literal (String "pt"))+                                (FuncCall+                                   (Ident (Identifier "repr"))+                                   [ NormalArg (Ident (Identifier "v")) ])))+                          (Not+                             (InCollection+                                (Literal (String "em"))+                                (FuncCall+                                   (Ident (Identifier "repr"))+                                   [ NormalArg (Ident (Identifier "v")) ]))))+                   , Block+                       (CodeBlock+                          [ FuncCall+                              (Ident (Identifier "test"))+                              [ NormalArg+                                  (Divided (Ident (Identifier "v")) (Ident (Identifier "v")))+                              , NormalArg (Literal (Float 1.0))+                              ]+                          ])+                   )+                 ]+             ])))+, ParBreak+, Comment+, Comment+, Comment+, Comment+, Code+    "typ/compiler/ops-03.typ"+    ( line 56 , column 2 )+    (Let+       (BasicBind (Just (Identifier "dims")))+       (Array+          [ Reg (Literal (Numeric 10.0 Pt))+          , Reg (Literal (Numeric 1.0 Em))+          , Reg (Plus (Literal (Numeric 10.0 Pt)) (Literal (Numeric 1.0 Em)))+          , Reg (Literal (Numeric 30.0 Percent))+          , Reg+              (Plus (Literal (Numeric 50.0 Percent)) (Literal (Numeric 3.0 Cm)))+          , Reg+              (Plus+                 (Plus (Literal (Numeric 40.0 Percent)) (Literal (Numeric 2.0 Em)))+                 (Literal (Numeric 1.0 Cm)))+          ]))+, SoftBreak+, Code+    "typ/compiler/ops-03.typ"+    ( line 57 , column 2 )+    (For+       (BasicBind (Just (Identifier "a")))+       (Ident (Identifier "dims"))+       (Block+          (CodeBlock+             [ For+                 (BasicBind (Just (Identifier "b")))+                 (Ident (Identifier "dims"))+                 (Block+                    (CodeBlock+                       [ FuncCall+                           (Ident (Identifier "test"))+                           [ NormalArg+                               (FuncCall+                                  (Ident (Identifier "type"))+                                  [ NormalArg+                                      (Plus (Ident (Identifier "a")) (Ident (Identifier "b")))+                                  ])+                           , NormalArg+                               (FuncCall+                                  (Ident (Identifier "type"))+                                  [ NormalArg+                                      (Minus (Ident (Identifier "a")) (Ident (Identifier "b")))+                                  ])+                           ]+                       ]))+             , For+                 (BasicBind (Just (Identifier "b")))+                 (Array [ Reg (Literal (Int 7)) , Reg (Literal (Float 3.14)) ])+                 (Block+                    (CodeBlock+                       [ FuncCall+                           (Ident (Identifier "test"))+                           [ NormalArg+                               (FuncCall+                                  (Ident (Identifier "type"))+                                  [ NormalArg+                                      (Times (Ident (Identifier "a")) (Ident (Identifier "b")))+                                  ])+                           , NormalArg+                               (FuncCall+                                  (Ident (Identifier "type"))+                                  [ NormalArg (Ident (Identifier "a")) ])+                           ]+                       , FuncCall+                           (Ident (Identifier "test"))+                           [ NormalArg+                               (FuncCall+                                  (Ident (Identifier "type"))+                                  [ NormalArg+                                      (Times (Ident (Identifier "b")) (Ident (Identifier "a")))+                                  ])+                           , NormalArg+                               (FuncCall+                                  (Ident (Identifier "type"))+                                  [ NormalArg (Ident (Identifier "a")) ])+                           ]+                       , FuncCall+                           (Ident (Identifier "test"))+                           [ NormalArg+                               (FuncCall+                                  (Ident (Identifier "type"))+                                  [ NormalArg+                                      (Divided (Ident (Identifier "a")) (Ident (Identifier "b")))+                                  ])+                           , NormalArg+                               (FuncCall+                                  (Ident (Identifier "type"))+                                  [ NormalArg (Ident (Identifier "a")) ])+                           ]+                       ]))+             ])))+, ParBreak+, Comment+, Code+    "typ/compiler/ops-03.typ"+    ( line 70 , column 2 )+    (For+       (BasicBind (Just (Identifier "a")))+       (Array+          [ Reg (Literal (Numeric 0.0 Pt))+          , Reg (Literal (Numeric 0.0 Em))+          , Reg (Literal (Numeric 0.0 Percent))+          ])+       (Block+          (CodeBlock+             [ For+                 (BasicBind (Just (Identifier "b")))+                 (Array+                    [ Reg (Literal (Numeric 10.0 Pt))+                    , Reg (Literal (Numeric 10.0 Em))+                    , Reg (Literal (Numeric 10.0 Percent))+                    ])+                 (Block+                    (CodeBlock+                       [ FuncCall+                           (Ident (Identifier "test"))+                           [ NormalArg+                               (Divided+                                  (Times (Literal (Int 2)) (Ident (Identifier "b")))+                                  (Ident (Identifier "b")))+                           , NormalArg (Literal (Int 2))+                           ]+                       , FuncCall+                           (Ident (Identifier "test"))+                           [ NormalArg+                               (Divided+                                  (Plus+                                     (Ident (Identifier "a"))+                                     (Times (Ident (Identifier "b")) (Literal (Int 2))))+                                  (Ident (Identifier "b")))+                           , NormalArg (Literal (Int 2))+                           ]+                       , FuncCall+                           (Ident (Identifier "test"))+                           [ NormalArg+                               (Divided+                                  (Ident (Identifier "b"))+                                  (Plus+                                     (Times (Ident (Identifier "b")) (Literal (Int 2)))+                                     (Ident (Identifier "a"))))+                           , NormalArg (Literal (Float 0.5))+                           ]+                       ]))+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: [1.0]), +                 text(body: [ /= ]), +                 text(body: [99.99]), +                 text(body: [)]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak(), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [❌(]), +                 text(body: [((12.0pt + 3.0em) + (12.0pt + 3.0em)) + (-12.0pt + -3.0em)]), +                 text(body: [ /= ]), +                 text(body: [12.0pt + 3.0em]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [((12.0pt + 3.0em) + (-12.0pt + -3.0em)) + (-12.0pt + -3.0em)]), +                 text(body: [ /= ]), +                 text(body: [-12.0pt + -3.0em]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [(12.0pt + 3.0em) + (-12.0pt + -3.0em)]), +                 text(body: [ /= ]), +                 text(body: [0.0pt + 0.0em]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [(12.0pt + 3.0em) + (12.0pt + 3.0em)]), +                 text(body: [ /= ]), +                 text(body: [24.0pt + 6.0em]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [(12.0pt + 3.0em) + (12.0pt + 3.0em)]), +                 text(body: [ /= ]), +                 text(body: [24.0pt + 6.0em]), +                 text(body: [)]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [❌(]), +                 text(body: [((10.0pt + 13%) + (10.0pt + 13%)) + (-10.0pt + -13%)]), +                 text(body: [ /= ]), +                 text(body: [10.0pt + 13%]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [((10.0pt + 13%) + (-10.0pt + -13%)) + (-10.0pt + -13%)]), +                 text(body: [ /= ]), +                 text(body: [-10.0pt + -13%]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [(10.0pt + 13%) + (-10.0pt + -13%)]), +                 text(body: [ /= ]), +                 text(body: [0.0pt + 0%]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [(10.0pt + 13%) + (10.0pt + 13%)]), +                 text(body: [ /= ]), +                 text(body: [20.0pt + 26%]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [(10.0pt + 13%) + (10.0pt + 13%)]), +                 text(body: [ /= ]), +                 text(body: [20.0pt + 26%]), +                 text(body: [)]), +                 text(body: [✅]), +                 text(body: [❌(]), +                 text(body: [(((1.0em + 5%) + 3.0pt) + ((1.0em + 5%) + 3.0pt)) + ((-1.0em + -5%) + -3.0pt)]), +                 text(body: [ /= ]), +                 text(body: [(1.0em + 5%) + 3.0pt]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [(((1.0em + 5%) + 3.0pt) + ((-1.0em + -5%) + -3.0pt)) + ((-1.0em + -5%) + -3.0pt)]), +                 text(body: [ /= ]), +                 text(body: [(-1.0em + -5%) + -3.0pt]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [((1.0em + 5%) + 3.0pt) + ((-1.0em + -5%) + -3.0pt)]), +                 text(body: [ /= ]), +                 text(body: [(0.0em + 0%) + 0.0pt]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [((1.0em + 5%) + 3.0pt) + ((1.0em + 5%) + 3.0pt)]), +                 text(body: [ /= ]), +                 text(body: [(2.0em + 10%) + 6.0pt]), +                 text(body: [)]), +                 text(body: [❌(]), +                 text(body: [((1.0em + 5%) + 3.0pt) + ((1.0em + 5%) + 3.0pt)]), +                 text(body: [ /= ]), +                 text(body: [(2.0em + 10%) + 6.0pt]), +                 text(body: [)]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [❌(]), +                 text(body: [1.0fr]), +                 text(body: [ /= ]), +                 text(body: [1.0]), +                 text(body: [)]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [❌(]), +                 text(body: [200%]), +                 text(body: [ /= ]), +                 text(body: [2]), +                 text(body: [)]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [❌(]), +                 text(body: [200%]), +                 text(body: [ /= ]), +                 text(body: [2]), +                 text(body: [)]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-04.out view
@@ -0,0 +1,77 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/ops-04.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Literal (Int 16)) , NormalArg (Literal (Int 16)) ])+, SoftBreak+, Code+    "typ/compiler/ops-04.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Literal (Int 13)) , NormalArg (Literal (Int 13)) ])+, SoftBreak+, Code+    "typ/compiler/ops-04.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Plus (Literal (Int 10)) (Literal (Int 10)))+       , NormalArg (Literal (Int 20))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-07.out view
@@ -0,0 +1,199 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/compiler/ops-07.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Not (Literal (Boolean True)))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-07.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Not (Literal (Boolean False)))+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-07.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (And (Literal (Boolean False)) (Literal (Boolean False)))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-07.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (And (Literal (Boolean False)) (Literal (Boolean True)))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-07.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (And (Literal (Boolean True)) (Literal (Boolean False)))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-07.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (And (Literal (Boolean True)) (Literal (Boolean True)))+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-07.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Or (Literal (Boolean False)) (Literal (Boolean False)))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-07.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Or (Literal (Boolean False)) (Literal (Boolean True)))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-07.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Or (Literal (Boolean True)) (Literal (Boolean False)))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-07.typ"+    ( line 18 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Or (Literal (Boolean True)) (Literal (Boolean True)))+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-07.typ"+    ( line 21 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (And (Literal (Boolean False)) (Ident (Identifier "dont-care")))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-07.typ"+    ( line 22 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Or (Literal (Boolean True)) (Ident (Identifier "dont-care")))+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-08.out view
@@ -0,0 +1,327 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/compiler/ops-08.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Equals (Literal (Int 1)) (Literal (String "hi")))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Equals (Literal (Int 1)) (Literal (Float 1.0)))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Literal (Numeric 30.0 Percent))+              (Plus (Literal (Numeric 30.0 Percent)) (Literal (Numeric 0.0 Cm))))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Literal (Numeric 1.0 In))+              (Plus (Literal (Numeric 0.0 Percent)) (Literal (Numeric 72.0 Pt))))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Literal (Numeric 30.0 Percent))+              (Plus (Literal (Numeric 30.0 Percent)) (Literal (Numeric 1.0 Cm))))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Literal (String "ab"))+              (Plus (Literal (String "a")) (Literal (String "b"))))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Equals (Array []) (Array [ Reg (Literal (Int 1)) ]))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Array+                 [ Reg (Literal (Int 1))+                 , Reg (Literal (Int 2))+                 , Reg (Literal (Int 3))+                 ])+              (Plus+                 (Array [ Reg (Literal (Int 1)) , Reg (Literal (Float 2.0)) ])+                 (Array [ Reg (Literal (Int 3)) ])))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Dict [])+              (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ]))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 14 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Dict+                 [ Reg+                     ( Ident (Identifier "a")+                     , Minus (Literal (Int 2)) (Literal (Float 1.0))+                     )+                 , Reg ( Ident (Identifier "b") , Literal (Int 2) )+                 ])+              (Dict+                 [ Reg ( Ident (Identifier "b") , Literal (Int 2) )+                 , Reg ( Ident (Identifier "a") , Literal (Int 1) )+                 ]))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Not (Equals (Literal (String "a")) (Literal (String "a"))))+       , NormalArg (Literal (Boolean False))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-08.typ"+    ( line 18 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals (Ident (Identifier "test")) (Ident (Identifier "test")))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 19 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (FuncExpr [] (Block (CodeBlock [])))+              (FuncExpr [] (Block (CodeBlock []))))+       , NormalArg (Literal (Boolean False))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-08.typ"+    ( line 22 , column 2 )+    (Let+       (BasicBind (Just (Identifier "t"))) (Block (Content [ Text "a" ])))+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 23 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals (Ident (Identifier "t")) (Ident (Identifier "t")))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 24 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Equals (Block (Content [])) (Block (Content [])))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 25 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Block (Content [ Text "a" ])) (Block (Content [ Text "a" ])))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 26 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (FuncCall (Ident (Identifier "grid")) [ BlockArg [ Text "a" ] ])+              (FuncCall (Ident (Identifier "grid")) [ BlockArg [ Text "a" ] ]))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-08.typ"+    ( line 27 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (FuncCall (Ident (Identifier "grid")) [ BlockArg [ Text "a" ] ])+              (FuncCall (Ident (Identifier "grid")) [ BlockArg [ Text "b" ] ]))+       , NormalArg (Literal (Boolean False))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [❌(]), +                 text(body: [false]), +                 text(body: [ /= ]), +                 text(body: [true]), +                 text(body: [)]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-09.out view
@@ -0,0 +1,181 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/ops-09.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (LessThan+              (Times (Literal (Int 13)) (Literal (Int 3)))+              (Times (Literal (Int 14)) (Literal (Int 4))))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-09.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (LessThan (Literal (Int 5)) (Literal (Int 10)))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-09.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (GreaterThan (Literal (Int 5)) (Literal (Int 5)))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-09.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (LessThanOrEqual (Literal (Int 5)) (Literal (Int 5)))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-09.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (LessThanOrEqual (Literal (Int 5)) (Literal (Int 4)))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-09.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (LessThan (Literal (Numeric 45.0 Deg)) (Literal (Numeric 1.0 Rad)))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-09.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (LessThan+              (Literal (Numeric 10.0 Percent)) (Literal (Numeric 20.0 Percent)))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-09.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (LessThan+              (Literal (Numeric 50.0 Percent))+              (Plus (Literal (Numeric 40.0 Percent)) (Literal (Numeric 0.0 Pt))))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-09.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (LessThan+              (Plus (Literal (Numeric 40.0 Percent)) (Literal (Numeric 0.0 Pt)))+              (Plus (Literal (Numeric 50.0 Percent)) (Literal (Numeric 0.0 Pt))))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-09.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (LessThan (Literal (Numeric 1.0 Em)) (Literal (Numeric 2.0 Em)))+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-10.out view
@@ -0,0 +1,191 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-10.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-10.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-10.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/ops-10.typ"+    ( line 4 , column 2 )+    (Let (BasicBind (Just (Identifier "x"))) (Literal (Int 0)))+, SoftBreak+, Code+    "typ/compiler/ops-10.typ"+    ( line 5 , column 2 )+    (Assign (Ident (Identifier "x")) (Literal (Int 10)))+, Space+, Code+    "typ/compiler/ops-10.typ"+    ( line 5 , column 18 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (Int 10))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-10.typ"+    ( line 6 , column 2 )+    (Assign+       (Ident (Identifier "x"))+       (Minus (Ident (Identifier "x")) (Literal (Int 5))))+, Space+, Code+    "typ/compiler/ops-10.typ"+    ( line 6 , column 18 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (Int 5))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-10.typ"+    ( line 7 , column 2 )+    (Assign+       (Ident (Identifier "x"))+       (Plus (Ident (Identifier "x")) (Literal (Int 1))))+, Space+, Code+    "typ/compiler/ops-10.typ"+    ( line 7 , column 18 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (Int 6))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-10.typ"+    ( line 8 , column 2 )+    (Assign+       (Ident (Identifier "x"))+       (Times (Ident (Identifier "x")) (Ident (Identifier "x"))))+, Space+, Code+    "typ/compiler/ops-10.typ"+    ( line 8 , column 18 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (Int 36))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-10.typ"+    ( line 9 , column 2 )+    (Assign+       (Ident (Identifier "x"))+       (Divided (Ident (Identifier "x")) (Literal (Float 2.0))))+, Space+, Code+    "typ/compiler/ops-10.typ"+    ( line 9 , column 18 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (Float 18.0))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-10.typ"+    ( line 10 , column 2 )+    (Assign (Ident (Identifier "x")) (Literal (String "some")))+, Space+, Code+    "typ/compiler/ops-10.typ"+    ( line 10 , column 18 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (String "some"))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-10.typ"+    ( line 11 , column 2 )+    (Assign+       (Ident (Identifier "x"))+       (Plus (Ident (Identifier "x")) (Literal (String "thing"))))+, Space+, Code+    "typ/compiler/ops-10.typ"+    ( line 11 , column 18 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (String "something"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [ ]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [ ]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [ ]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [ ]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [ ]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [ ]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [ ]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-11.out view
@@ -0,0 +1,3 @@+"typ/compiler/ops-11.typ" (line 19, column 5):+unexpected ":"+expecting "//", "/*", operator or ")"
+ test/typ/compiler/ops-12.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-13.out view
@@ -0,0 +1,210 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-13.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-13.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-13.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/ops-13.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection (Literal (String "hi")) (Literal (String "worship")))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-13.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection+              (Literal (String "hi"))+              (Array+                 [ Reg (Literal (String "we"))+                 , Reg (Literal (String "hi"))+                 , Reg (Literal (String "bye"))+                 ]))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-13.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection+              (Literal (String "Hey")) (Literal (String "abHeyCd")))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-13.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection+              (Literal (String "Hey")) (Literal (String "abheyCd")))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-13.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection+              (Literal (Int 5))+              (FuncCall+                 (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ]))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-13.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection+              (Literal (Int 12))+              (FuncCall+                 (Ident (Identifier "range")) [ NormalArg (Literal (Int 10)) ]))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-13.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (InCollection (Literal (String "")) (Array []))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-13.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection+              (Literal (String "key"))+              (Dict+                 [ Reg ( Ident (Identifier "key") , Literal (String "value") ) ]))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-13.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection+              (Literal (String "value"))+              (Dict+                 [ Reg ( Ident (Identifier "key") , Literal (String "value") ) ]))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-13.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Not+              (InCollection+                 (Literal (String "Hey")) (Literal (String "abheyCd"))))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-13.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Not+              (InCollection (Literal (String "a")) (Literal (String "abc"))))+       , NormalArg (Literal (Boolean False))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-14.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-15.out view
@@ -0,0 +1,207 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-15.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-15.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-15.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/compiler/ops-15.typ"+    ( line 5 , column 2 )+    (LetFunc+       (Identifier "add")+       [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+       (Plus (Ident (Identifier "x")) (Ident (Identifier "y"))))+, SoftBreak+, Code+    "typ/compiler/ops-15.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "with")) (Ident (Identifier "add")))+                 [ NormalArg (Literal (Int 2)) ])+              [ NormalArg (Literal (Int 3)) ])+       , NormalArg (Literal (Int 5))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-15.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "with"))+                    (FuncCall+                       (FieldAccess+                          (Ident (Identifier "with")) (Ident (Identifier "add")))+                       [ NormalArg (Literal (Int 2)) ]))+                 [ NormalArg (Literal (Int 3)) ])+              [])+       , NormalArg (Literal (Int 5))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-15.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "with")) (Ident (Identifier "add")))+                 [ NormalArg (Literal (Int 2)) ])+              [ NormalArg (Literal (Int 4)) ])+       , NormalArg (Literal (Int 6))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-15.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "with"))+                    (FuncCall+                       (FieldAccess+                          (Ident (Identifier "with")) (Ident (Identifier "add")))+                       [ NormalArg (Literal (Int 2)) ]))+                 [ NormalArg (Literal (Int 3)) ])+              [])+       , NormalArg (Literal (Int 5))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-15.typ"+    ( line 12 , column 2 )+    (LetFunc+       (Identifier "inc")+       [ NormalParam (Identifier "x")+       , DefaultParam (Identifier "y") (Literal (Int 1))+       ]+       (Plus (Ident (Identifier "x")) (Ident (Identifier "y"))))+, SoftBreak+, Code+    "typ/compiler/ops-15.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "inc")) [ NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (Int 2))+       ])+, ParBreak+, Code+    "typ/compiler/ops-15.typ"+    ( line 15 , column 2 )+    (Let+       (BasicBind (Just (Identifier "inc2")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "inc")))+          [ KeyValArg (Identifier "y") (Literal (Int 2)) ]))+, SoftBreak+, Code+    "typ/compiler/ops-15.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "inc2")) [ NormalArg (Literal (Int 2)) ])+       , NormalArg (Literal (Int 4))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-15.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "inc2"))+              [ NormalArg (Literal (Int 2))+              , KeyValArg (Identifier "y") (Literal (Int 4))+              ])+       , NormalArg (Literal (Int 6))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-assoc-00.out view
@@ -0,0 +1,93 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-assoc-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-assoc-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-assoc-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/ops-assoc-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Divided+                 (Divided (Literal (Int 10)) (Literal (Int 2))) (Literal (Int 2)))+              (Divided+                 (Divided (Literal (Int 10)) (Literal (Int 2))) (Literal (Int 2))))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-assoc-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Divided+                 (Divided (Literal (Int 10)) (Literal (Int 2))) (Literal (Int 2)))+              (Divided+                 (Literal (Int 10)) (Divided (Literal (Int 2)) (Literal (Int 2)))))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-assoc-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Times+              (Divided (Literal (Int 1)) (Literal (Int 2))) (Literal (Int 3)))+       , NormalArg (Literal (Float 1.5))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-assoc-01.out view
@@ -0,0 +1,101 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-assoc-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-assoc-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-assoc-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "{"+, SoftBreak+, Text "let"+, Space+, Text "x"+, Space+, Text "="+, Space+, Text "1"+, SoftBreak+, Text "let"+, Space+, Text "y"+, Space+, Text "="+, Space+, Text "2"+, SoftBreak+, Text "x"+, Space+, Text "="+, Space+, Text "y"+, Space+, Text "="+, Space+, Quote '"'+, Text "ok"+, Quote '"'+, SoftBreak+, Text "test"+, Text "("+, Text "x,"+, Space+, Text "none)"+, SoftBreak+, Text "test"+, Text "("+, Text "y,"+, Space+, Quote '"'+, Text "ok"+, Quote '"'+, Text ")"+, SoftBreak+, Text "}"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [{+let x = 1+let y = 2+x = y = “ok”+test(x, none)+test(y, “ok”)+}]), +                 parbreak() })
+ test/typ/compiler/ops-invalid-00.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-11.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-12.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-13.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-14.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-15.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-16.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-17.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-18.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-19.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-20.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-21.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-22.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-23.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-24.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-25.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-26.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-27.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-28.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-invalid-29.out view
@@ -0,0 +1,60 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-invalid-29.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-invalid-29.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-invalid-29.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/ops-invalid-29.typ"+    ( line 4 , column 2 )+    (Let (BasicBind (Just (Identifier "rect"))) (Literal (String "")))+, SoftBreak+, Code+    "typ/compiler/ops-invalid-29.typ"+    ( line 5 , column 2 )+    (Assign (Ident (Identifier "rect")) (Literal (String "hi")))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak() })
+ test/typ/compiler/ops-prec-00.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-prec-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-prec-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-prec-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/ops-prec-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Plus+              (Literal (Int 1))+              (Times (Literal (Int 2)) (Negated (Literal (Int 3)))))+       , NormalArg (Negated (Literal (Int 5)))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-prec-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Equals+              (Literal (Int 3)) (Minus (Literal (Int 5)) (Literal (Int 2))))+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/ops-prec-00.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (And+              (Equals (Literal (String "a")) (Literal (String "a")))+              (LessThan (Literal (Int 2)) (Literal (Int 3))))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/ops-prec-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Not (Equals (Literal (String "b")) (Literal (String "b"))))+       , NormalArg (Literal (Boolean False))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-prec-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-prec-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/ops-prec-03.out view
@@ -0,0 +1,65 @@+--- parse tree ---+[ Code+    "typ/compiler/ops-prec-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/ops-prec-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/ops-prec-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/ops-prec-03.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (Not+              (InCollection+                 (Negated (Literal (Int 1)))+                 (Array+                    [ Reg (Literal (Int 1))+                    , Reg (Literal (Int 2))+                    , Reg (Literal (Int 3))+                    ])))+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/ops-prec-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/recursion-00.out view
@@ -0,0 +1,87 @@+--- parse tree ---+[ Code+    "typ/compiler/recursion-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/recursion-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/recursion-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/recursion-00.typ"+    ( line 3 , column 2 )+    (LetFunc+       (Identifier "fib")+       [ NormalParam (Identifier "n") ]+       (Block+          (CodeBlock+             [ If+                 [ ( LessThanOrEqual (Ident (Identifier "n")) (Literal (Int 2))+                   , Block (CodeBlock [ Literal (Int 1) ])+                   )+                 , ( Literal (Boolean True)+                   , Block+                       (CodeBlock+                          [ Plus+                              (FuncCall+                                 (Ident (Identifier "fib"))+                                 [ NormalArg (Minus (Ident (Identifier "n")) (Literal (Int 1))) ])+                              (FuncCall+                                 (Ident (Identifier "fib"))+                                 [ NormalArg (Minus (Ident (Identifier "n")) (Literal (Int 2))) ])+                          ])+                   )+                 ]+             ])))+, ParBreak+, Code+    "typ/compiler/recursion-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "fib")) [ NormalArg (Literal (Int 10)) ])+       , NormalArg (Literal (Int 55))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/recursion-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/recursion-02.out view
@@ -0,0 +1,74 @@+--- parse tree ---+[ Code+    "typ/compiler/recursion-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/recursion-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/recursion-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/recursion-02.typ"+    ( line 3 , column 2 )+    (Let (BasicBind (Just (Identifier "f"))) (Literal (Int 10)))+, SoftBreak+, Code+    "typ/compiler/recursion-02.typ"+    ( line 4 , column 2 )+    (LetFunc (Identifier "f") [] (Ident (Identifier "f")))+, SoftBreak+, Code+    "typ/compiler/recursion-02.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg (FuncCall (Ident (Identifier "f")) []) ])+       , NormalArg (Literal (String "function"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/recursion-03.out view
@@ -0,0 +1,76 @@+--- parse tree ---+[ Code+    "typ/compiler/recursion-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/recursion-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/recursion-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/recursion-03.typ"+    ( line 3 , column 2 )+    (Let (BasicBind (Just (Identifier "f"))) (Literal (Int 10)))+, SoftBreak+, Code+    "typ/compiler/recursion-03.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "f")))+       (FuncExpr [] (Ident (Identifier "f"))))+, SoftBreak+, Code+    "typ/compiler/recursion-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg (FuncCall (Ident (Identifier "f")) []) ])+       , NormalArg (Literal (String "integer"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/recursion-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/recursion-05.out view
@@ -0,0 +1,86 @@+--- parse tree ---+[ Code+    "typ/compiler/recursion-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/recursion-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/recursion-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compiler/recursion-05.typ"+    ( line 2 , column 2 )+    (LetFunc+       (Identifier "f")+       [ NormalParam (Identifier "x") ]+       (Literal (String "hello")))+, SoftBreak+, Code+    "typ/compiler/recursion-05.typ"+    ( line 3 , column 2 )+    (LetFunc+       (Identifier "f")+       [ NormalParam (Identifier "x") ]+       (If+          [ ( Not (Equals (Ident (Identifier "x")) (Literal None))+            , Block+                (CodeBlock+                   [ FuncCall (Ident (Identifier "f")) [ NormalArg (Literal None) ] ])+            )+          , ( Literal (Boolean True)+            , Block (CodeBlock [ Literal (String "world") ])+            )+          ]))+, SoftBreak+, Code+    "typ/compiler/recursion-05.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (String "world"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/repr-00.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/compiler/repr-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/repr-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/repr-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/repr-00.typ" ( line 3 , column 2 ) (Literal Auto)+, Space+, HardBreak+, Code+    "typ/compiler/repr-00.typ" ( line 4 , column 2 ) (Literal None)+, Space+, Text "("+, Text "empty)"+, Space+, HardBreak+, Code+    "typ/compiler/repr-00.typ"+    ( line 5 , column 2 )+    (Literal (Boolean True))+, Space+, HardBreak+, Code+    "typ/compiler/repr-00.typ"+    ( line 6 , column 2 )+    (Literal (Boolean False))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [auto]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [ (empty) ]), +                 linebreak(), +                 text(body: [true]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [false]), +                 parbreak() })
+ test/typ/compiler/repr-01.out view
@@ -0,0 +1,154 @@+--- parse tree ---+[ Code+    "typ/compiler/repr-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/repr-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/repr-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/repr-01.typ" ( line 3 , column 2 ) (Literal (Int 1))+, Space+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 4 , column 2 )+    (Literal (Float 1.0e-4))+, Space+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 5 , column 2 )+    (Literal (Float 3.15))+, Space+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 6 , column 2 )+    (Literal (Float 1.0e-10))+, Space+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 7 , column 2 )+    (Literal (Numeric 50.368 Percent))+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 8 , column 2 )+    (Literal (Numeric 1.2345e-6 Pt))+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 9 , column 2 )+    (Literal (Numeric 4.5 Cm))+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 10 , column 2 )+    (Literal (Numeric 120.0 Pt))+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 11 , column 2 )+    (Literal (Numeric 2.5 Rad))+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 12 , column 2 )+    (Literal (Numeric 45.0 Deg))+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 13 , column 2 )+    (Literal (Numeric 1.7 Em))+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 14 , column 2 )+    (Plus (Literal (Numeric 1.0 Cm)) (Literal (Numeric 0.0 Em)))+, Space+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 15 , column 2 )+    (Plus (Literal (Numeric 2.0 Em)) (Literal (Numeric 10.0 Pt)))+, Space+, HardBreak+, Code+    "typ/compiler/repr-01.typ"+    ( line 16 , column 2 )+    (Literal (Numeric 2.3 Fr))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [1]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [1.0e-4]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [3.15]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [1.0e-10]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [50%]), +                 linebreak(), +                 text(body: [1.2345e-6pt]), +                 linebreak(), +                 text(body: [4.5cm]), +                 linebreak(), +                 text(body: [120.0pt]), +                 linebreak(), +                 text(body: [143.2394487827058deg]), +                 linebreak(), +                 text(body: [45.0deg]), +                 linebreak(), +                 text(body: [1.7em]), +                 linebreak(), +                 text(body: [1.0cm]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [2.0em + 10.0pt]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [2.3fr]), +                 parbreak() })
+ test/typ/compiler/repr-02.out view
@@ -0,0 +1,157 @@+--- parse tree ---+[ Code+    "typ/compiler/repr-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/repr-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/repr-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/repr-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 0.8 Em)) ])+, SoftBreak+, Code+    "typ/compiler/repr-02.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "rgb"))+       [ NormalArg (Literal (String "f7a205")) ])+, Space+, HardBreak+, Code+    "typ/compiler/repr-02.typ"+    ( line 5 , column 2 )+    (Plus+       (Literal (Numeric 2.0 Pt))+       (FuncCall+          (Ident (Identifier "rgb"))+          [ NormalArg (Literal (String "f7a205")) ]))+, ParBreak+, Comment+, Code+    "typ/compiler/repr-02.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "raw"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "repr")) [ NormalArg (Literal (String "hi")) ])+       , KeyValArg (Identifier "lang") (Literal (String "typc"))+       ])+, SoftBreak+, Code+    "typ/compiler/repr-02.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "repr"))+       [ NormalArg (Literal (String "a\n[]\"\128640string")) ])+, ParBreak+, Comment+, Code+    "typ/compiler/repr-02.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "raw"))+       [ KeyValArg (Identifier "lang") (Literal (String "typc"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "repr")) [ BlockArg [ Strong [ Text "Hey" ] ] ])+       ])+, ParBreak+, Comment+, Text "Nothing"+, SoftBreak+, Code+    "typ/compiler/repr-02.typ"+    ( line 16 , column 2 )+    (LetFunc+       (Identifier "f")+       [ NormalParam (Identifier "x") ]+       (Ident (Identifier "x")))+, SoftBreak+, Code+    "typ/compiler/repr-02.typ"+    ( line 17 , column 2 )+    (Ident (Identifier "f"))+, SoftBreak+, Code+    "typ/compiler/repr-02.typ"+    ( line 18 , column 2 )+    (Ident (Identifier "rect"))+, SoftBreak+, Code+    "typ/compiler/repr-02.typ"+    ( line 19 , column 2 )+    (FuncExpr [] (Literal None))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], size: 0.8em), +                 text(body: [rgb(96%,63%,1%,100%)], +                      size: 0.8em), +                 text(body: [ ], size: 0.8em), +                 linebreak(), +                 text(body: [(thickness: 2.0pt,+ color: rgb(96%,63%,1%,100%))], +                      size: 0.8em), +                 parbreak(), +                 raw(lang: "typc", +                     text: "\"hi\""), +                 text(body: [+], size: 0.8em), +                 text(body: ["a\n[]\"🚀string"], +                      size: 0.8em), +                 parbreak(), +                 raw(lang: "typc", +                     text: "strong(body: text(body: [Hey], \n                  size: 0.8em))"), +                 parbreak(), +                 text(body: [Nothing+], +                      size: 0.8em), +                 text(body: [+], size: 0.8em), +                 text(body: [+], size: 0.8em), +                 text(body: [+], size: 0.8em), +                 parbreak() })
+ test/typ/compiler/return-00.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/compiler/return-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/return-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/return-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/return-00.typ"+    ( line 3 , column 2 )+    (LetFunc+       (Identifier "f")+       [ NormalParam (Identifier "x") ]+       (Block+          (CodeBlock+             [ Return (Just (Plus (Ident (Identifier "x")) (Literal (Int 1))))+             ])))+, ParBreak+, Code+    "typ/compiler/return-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (Int 2))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/return-01.out view
@@ -0,0 +1,112 @@+--- parse tree ---+[ Code+    "typ/compiler/return-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/return-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/return-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/return-01.typ"+    ( line 4 , column 2 )+    (LetFunc+       (Identifier "f")+       [ NormalParam (Identifier "x") ]+       (Block+          (CodeBlock+             [ Literal (String "a")+             , If+                 [ ( Equals (Ident (Identifier "x")) (Literal (Int 0))+                   , Block (CodeBlock [ Return (Just (Literal (String "b"))) ])+                   )+                 , ( Equals (Ident (Identifier "x")) (Literal (Int 1))+                   , Block (CodeBlock [ Literal (String "c") ])+                   )+                 , ( Literal (Boolean True)+                   , Block+                       (CodeBlock+                          [ Literal (String "d") , Return Nothing , Literal (String "e") ])+                   )+                 ]+             ])))+, ParBreak+, Code+    "typ/compiler/return-01.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 0)) ])+       , NormalArg (Literal (String "b"))+       ])+, SoftBreak+, Code+    "typ/compiler/return-01.typ"+    ( line 18 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (String "ac"))+       ])+, SoftBreak+, Code+    "typ/compiler/return-01.typ"+    ( line 19 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 2)) ])+       , NormalArg (Literal (String "ad"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/return-02.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/compiler/return-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/return-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/return-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, SoftBreak+, Code+    "typ/compiler/return-02.typ"+    ( line 5 , column 2 )+    (LetFunc+       (Identifier "f")+       [ NormalParam (Identifier "text")+       , DefaultParam (Identifier "caption") (Literal None)+       ]+       (Block+          (CodeBlock+             [ Ident (Identifier "text")+             , If+                 [ ( Equals (Ident (Identifier "caption")) (Literal None)+                   , Block+                       (Content+                          [ Text "."+                          , Code+                              "typ/compiler/return-02.typ"+                              ( line 7 , column 26 )+                              (Return Nothing)+                          ])+                   )+                 ]+             , Block (Content [ Text "," , Space ])+             , FuncCall+                 (Ident (Identifier "emph"))+                 [ NormalArg (Ident (Identifier "caption")) ]+             , Block (Content [ Text "." ])+             ])))+, ParBreak+, Code+    "typ/compiler/return-02.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "f"))+       [ KeyValArg+           (Identifier "caption")+           (Block (Content [ Text "with" , Space , Text "caption" ]))+       , BlockArg [ Text "My" , Space , Text "figure" ]+       ])+, ParBreak+, Code+    "typ/compiler/return-02.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "f"))+       [ BlockArg+           [ Text "My" , Space , Text "other" , Space , Text "figure" ]+       ])+, ParBreak+]+"typ/compiler/return-02.typ" (line 13, column 2):+unexpected end of input+text is not an element function
+ test/typ/compiler/return-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/return-04.out view
@@ -0,0 +1,101 @@+--- parse tree ---+[ Code+    "typ/compiler/return-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/return-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/return-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/return-04.typ"+    ( line 3 , column 2 )+    (LetFunc+       (Identifier "sum")+       [ SinkParam (Just (Identifier "args")) ]+       (Block+          (CodeBlock+             [ Let (BasicBind (Just (Identifier "s"))) (Literal (Int 0))+             , For+                 (BasicBind (Just (Identifier "v")))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "pos")) (Ident (Identifier "args")))+                    [])+                 (Block+                    (CodeBlock+                       [ Assign+                           (Ident (Identifier "s"))+                           (Plus (Ident (Identifier "s")) (Ident (Identifier "v")))+                       ]))+             , Ident (Identifier "s")+             ])))+, ParBreak+, Code+    "typ/compiler/return-04.typ"+    ( line 11 , column 2 )+    (LetFunc+       (Identifier "f")+       []+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "sum"))+                 [ SpreadArg (Return Nothing)+                 , NormalArg (Literal (Int 1))+                 , NormalArg (Literal (Int 2))+                 , NormalArg (Literal (Int 3))+                 ]+             , Literal (String "nope")+             ])))+, ParBreak+, Code+    "typ/compiler/return-04.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (FuncCall (Ident (Identifier "f")) [])+       , NormalArg (Literal (Int 6))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 parbreak(), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/return-05.out view
@@ -0,0 +1,97 @@+--- parse tree ---+[ Code+    "typ/compiler/return-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/return-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/return-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/return-05.typ"+    ( line 3 , column 2 )+    (Let (BasicBind (Just (Identifier "x"))) (Literal (Int 3)))+, SoftBreak+, Code+    "typ/compiler/return-05.typ"+    ( line 4 , column 2 )+    (LetFunc+       (Identifier "f")+       []+       (Block+          (Content+             [ SoftBreak+             , Text "Hello"+             , Space+             , Text "\128512"+             , SoftBreak+             , Code+                 "typ/compiler/return-05.typ"+                 ( line 6 , column 4 )+                 (Return (Just (Literal (String "nope"))))+             , SoftBreak+             , Text "World"+             , ParBreak+             ])))+, ParBreak+, Code+    "typ/compiler/return-05.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (FuncCall (Ident (Identifier "f")) [])+       , NormalArg (Literal (String "nope"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [❌(]), +                 text(body: [{ text(body: [+Hello 😀+]), +  text(body: [nope]), +  text(body: [+World]), +  parbreak() }]), +                 text(body: [ /= ]), +                 text(body: ["nope"]), +                 text(body: [)]), +                 parbreak() })
+ test/typ/compiler/set-00.out view
@@ -0,0 +1,66 @@+--- parse tree ---+[ Code+    "typ/compiler/set-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/set-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/set-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/set-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "x")))+       (Block (Content [ Text "World" ])))+, SoftBreak+, Text "Hello"+, Space+, Strong+    [ Code+        "typ/compiler/set-00.typ"+        ( line 4 , column 9 )+        (Ident (Identifier "x"))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Hello ]), +                 strong(body: text(body: [World])), +                 parbreak() })
+ test/typ/compiler/set-01.out view
@@ -0,0 +1,113 @@+--- parse tree ---+[ Code+    "typ/compiler/set-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/set-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/set-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/set-01.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "fruit")))+       (Block+          (Content+             [ SoftBreak+             , BulletListItem [ Text "Apple" ]+             , SoftBreak+             , BulletListItem [ Text "Orange" ]+             , SoftBreak+             , Code+                 "typ/compiler/set-01.typ"+                 ( line 6 , column 4 )+                 (FuncCall+                    (Ident (Identifier "list"))+                    [ KeyValArg (Identifier "body-indent") (Literal (Numeric 20.0 Pt))+                    , BlockArg [ Text "Pear" ]+                    ])+             , ParBreak+             ])))+, ParBreak+, BulletListItem [ Text "Fruit" ]+, SoftBreak+, Code+    "typ/compiler/set-01.typ"+    ( line 10 , column 2 )+    (Block+       (Content+          [ Code+              "typ/compiler/set-01.typ"+              ( line 10 , column 4 )+              (Set+                 (Ident (Identifier "list"))+                 [ KeyValArg (Identifier "indent") (Literal (Numeric 10.0 Pt)) ])+          , SoftBreak+          , Code+              "typ/compiler/set-01.typ"+              ( line 11 , column 3 )+              (Ident (Identifier "fruit"))+          ]))+, SoftBreak+, BulletListItem+    [ Text "No"+    , Space+    , Text "more"+    , Space+    , Text "fruit"+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 list(children: (text(body: [Fruit]))), +                 text(body: [+]), +                 text(body: [+]), +                 list(children: (text(body: [Apple]), +                                 text(body: [Orange]))), +                 list(body-indent: 20.0pt, +                      children: (text(body: [Pear]))), +                 parbreak(), +                 text(body: [+]), +                 list(children: ({ text(body: [No more fruit]), +                                   parbreak() }), +                      indent: 10.0pt) })
+ test/typ/compiler/set-02.out view
@@ -0,0 +1,115 @@+--- parse tree ---+[ Code+    "typ/compiler/set-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/set-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/set-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compiler/set-02.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 4.0 Pt)) ])+, SoftBreak+, Code+    "typ/compiler/set-02.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "style") (Literal (String "italic"))+       , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+       ])+, SoftBreak+, Code+    "typ/compiler/set-02.typ"+    ( line 6 , column 2 )+    (Let+       (BasicBind (Just (Identifier "x")))+       (Block+          (Content+             [ Text "And"+             , Space+             , Text "the"+             , Space+             , Text "red"+             , Space+             , Code+                 "typ/compiler/set-02.typ"+                 ( line 6 , column 24 )+                 (FuncCall (Ident (Identifier "parbreak")) [])+             , Space+             , Text "lay"+             , Space+             , Text "silent!"+             ])))+, SoftBreak+, Code+    "typ/compiler/set-02.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , NormalArg (Ident (Identifier "x"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      fill: rgb(13%,61%,67%,100%), +                      style: "italic"), +                 text(body: [+], +                      fill: rgb(13%,61%,67%,100%), +                      style: "italic"), +                 text(body: { text(body: [And the red ], +                                   fill: rgb(13%,61%,67%,100%), +                                   style: "italic"), +                              parbreak(), +                              text(body: [ lay silent!], +                                   fill: rgb(13%,61%,67%,100%), +                                   style: "italic") }, +                      fill: rgb(100%,25%,21%,100%), +                      style: "italic"), +                 parbreak() })
+ test/typ/compiler/set-03.out view
@@ -0,0 +1,69 @@+--- parse tree ---+[ Code+    "typ/compiler/set-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/set-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/set-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/set-03.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ If+              [ ( Literal (Boolean True)+                , Block+                    (CodeBlock+                       [ Set+                           (Ident (Identifier "text"))+                           [ NormalArg (Ident (Identifier "blue")) ]+                       , Block (Content [ Text "Blue" , Space ])+                       ])+                )+              ]+          , Block (Content [ Text "Not" , Space , Text "blue" ])+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Blue ], +                      color: rgb(0%,45%,85%,100%)), +                 text(body: [Not blue]), +                 parbreak() })
+ test/typ/compiler/set-04.out view
@@ -0,0 +1,103 @@+--- parse tree ---+[ Code+    "typ/compiler/set-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/set-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/set-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/set-04.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "choice")))+       (Array+          [ Reg (Literal (String "monkey.svg"))+          , Reg (Literal (String "rhino.png"))+          , Reg (Literal (String "tiger.jpg"))+          ]))+, SoftBreak+, Code+    "typ/compiler/set-04.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "enum"))+       [ KeyValArg+           (Identifier "numbering")+           (FuncExpr+              [ NormalParam (Identifier "n") ]+              (Block+                 (CodeBlock+                    [ Let+                        (BasicBind (Just (Identifier "path")))+                        (Plus+                           (Literal (String "/"))+                           (FuncCall+                              (FieldAccess+                                 (Ident (Identifier "at")) (Ident (Identifier "choice")))+                              [ NormalArg (Minus (Ident (Identifier "n")) (Literal (Int 1))) ]))+                    , FuncCall+                        (Ident (Identifier "move"))+                        [ KeyValArg (Identifier "dy") (Negated (Literal (Numeric 0.15 Em)))+                        , NormalArg+                            (FuncCall+                               (Ident (Identifier "image"))+                               [ NormalArg (Ident (Identifier "path"))+                               , KeyValArg (Identifier "width") (Literal (Numeric 1.0 Em))+                               , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))+                               ])+                        ]+                    ])))+       ])+, ParBreak+, EnumListItem Nothing [ Text "Monkey" ]+, SoftBreak+, EnumListItem Nothing [ Text "Rhino" ]+, SoftBreak+, EnumListItem Nothing [ Text "Tiger" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 enum(children: (text(body: [Monkey]), +                                 text(body: [Rhino]), +                                 { text(body: [Tiger]), +                                   parbreak() }), +                      numbering: ) })
+ test/typ/compiler/set-05.out view
@@ -0,0 +1,88 @@+--- parse tree ---+[ Code+    "typ/compiler/set-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/set-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/set-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/set-05.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "ref")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals+                          (FieldAccess+                             (Ident (Identifier "target")) (Ident (Identifier "it")))+                          (Label "unknown")+                      , Set+                          (Ident (Identifier "text"))+                          [ NormalArg (Ident (Identifier "red")) ]+                      )+                    ]+                , Plus+                    (Literal (String "@"))+                    (FuncCall+                       (Ident (Identifier "str"))+                       [ NormalArg+                           (FieldAccess+                              (Ident (Identifier "target")) (Ident (Identifier "it")))+                       ])+                ]))))+, ParBreak+, Ref "hello" (Literal Auto)+, Space+, Text "from"+, Space+, Text "the"+, Space+, Ref "unknown" (Literal Auto)+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [@<hello>]), +                 text(body: [ from the ]), +                 text(body: [@<unknown>]), +                 parbreak() })
+ test/typ/compiler/set-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/set-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/shorthand-00.out view
@@ -0,0 +1,59 @@+--- parse tree ---+[ Code+    "typ/compiler/shorthand-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/shorthand-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/shorthand-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Text "The"+, Space+, Text "non"+, Text "-"+, Text "breaking"+, Nbsp+, Text "space"+, Space+, Text "does"+, Space+, Text "work"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+The non-breaking space does work.]), +                 parbreak() })
+ test/typ/compiler/shorthand-01.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/compiler/shorthand-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/shorthand-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/shorthand-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Comment+, Code+    "typ/compiler/shorthand-01.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font") (Literal (String "New Computer Modern"))+       ])+, SoftBreak+, Text "a"+, Space+, Text "b"+, Space+, HardBreak+, Text "a"+, Nbsp+, Text "b"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+a b ], +                      font: "New Computer Modern"), +                 linebreak(), +                 text(body: [a b], +                      font: "New Computer Modern"), +                 parbreak() })
+ test/typ/compiler/shorthand-02.out view
@@ -0,0 +1,60 @@+--- parse tree ---+[ Code+    "typ/compiler/shorthand-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/shorthand-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/shorthand-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, BulletListItem+    [ Text "En" , Space , Text "dash" , Text ":" , Space , EnDash ]+, SoftBreak+, BulletListItem+    [ Text "Em"+    , Space+    , Text "dash"+    , Text ":"+    , Space+    , EmDash+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 list(children: (text(body: [En dash: –]), +                                 { text(body: [Em dash: —]), +                                   parbreak() })) })
+ test/typ/compiler/shorthand-03.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/compiler/shorthand-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/shorthand-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/shorthand-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compiler/shorthand-03.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "Roboto")) ])+, SoftBreak+, Text "A"+, Ellipsis+, Space+, Text "vs"+, Space+, Code+    "typ/compiler/shorthand-03.typ"+    ( line 3 , column 10 )+    (Literal (String "A..."))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+A… vs ], +                      font: "Roboto"), +                 text(body: [A...], +                      font: "Roboto"), +                 parbreak() })
+ test/typ/compiler/show-bare-00.out view
@@ -0,0 +1,194 @@+--- parse tree ---+[ Code+    "typ/compiler/show-bare-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-bare-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-bare-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compiler/show-bare-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 130.0 Pt)) ])+, SoftBreak+, Code+    "typ/compiler/show-bare-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 0.7 Em)) ])+, ParBreak+, Code+    "typ/compiler/show-bare-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center"))+       , BlockArg+           [ SoftBreak+           , Code+               "typ/compiler/show-bare-00.typ"+               ( line 6 , column 4 )+               (FuncCall+                  (Ident (Identifier "text"))+                  [ NormalArg (Literal (Numeric 1.3 Em))+                  , BlockArg+                      [ Strong+                          [ Text "Essay" , Space , Text "on" , Space , Text "typography" ]+                      ]+                  ])+           , Space+           , HardBreak+           , Text "T"+           , Text "."+           , Space+           , Text "Ypst"+           , ParBreak+           ]+       ])+, ParBreak+, Code+    "typ/compiler/show-bare-00.typ"+    ( line 10 , column 2 )+    (Show+       Nothing+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "columns")))+          [ NormalArg (Literal (Int 2)) ]))+, SoftBreak+, Text "Great"+, Space+, Text "typography"+, Space+, Text "is"+, Space+, Text "at"+, Space+, Text "the"+, Space+, Text "essence"+, Space+, Text "of"+, Space+, Text "great"+, Space+, Text "storytelling"+, Text "."+, Space+, Text "It"+, Space+, Text "is"+, Space+, Text "the"+, Space+, Text "medium"+, Space+, Text "that"+, SoftBreak+, Text "transports"+, Space+, Text "meaning"+, Space+, Text "from"+, Space+, Text "parchment"+, Space+, Text "to"+, Space+, Text "reader,"+, Space+, Text "the"+, Space+, Text "wave"+, Space+, Text "that"+, Space+, Text "sparks"+, Space+, Text "a"+, Space+, Text "flame"+, SoftBreak+, Text "in"+, Space+, Text "booklovers"+, Space+, Text "and"+, Space+, Text "the"+, Space+, Text "great"+, Space+, Text "fulfiller"+, Space+, Text "of"+, Space+, Text "human"+, Space+, Text "need"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 align(alignment: center, +                       body: { text(body: [+], +                                    size: 0.7em), +                               text(body: strong(body: text(body: [Essay on typography], +                                                            size: 0.7em)), +                                    size: 1.3em), +                               text(body: [ ], +                                    size: 0.7em), +                               linebreak(), +                               text(body: [T. Ypst], +                                    size: 0.7em), +                               parbreak() }), +                 parbreak(), +                 columns(body: { text(body: [+Great typography is at the essence of great storytelling. It is the medium that+transports meaning from parchment to reader, the wave that sparks a flame+in booklovers and the great fulfiller of human need.], +                                      size: 0.7em), +                                 parbreak() }, +                         count: 2) })
+ test/typ/compiler/show-bare-01.out view
@@ -0,0 +1,84 @@+--- parse tree ---+[ Code+    "typ/compiler/show-bare-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-bare-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-bare-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Space+, Code+    "typ/compiler/show-bare-01.typ"+    ( line 3 , column 4 )+    (Block+       (Content+          [ Emph+              [ Text "B"+              , Space+              , Code+                  "typ/compiler/show-bare-01.typ"+                  ( line 3 , column 9 )+                  (Show+                     Nothing+                     (FuncExpr+                        [ NormalParam (Identifier "c") ]+                        (Block+                           (Content+                              [ Strong+                                  [ Code+                                      "typ/compiler/show-bare-01.typ"+                                      ( line 3 , column 23 )+                                      (Ident (Identifier "c"))+                                  ]+                              ]))))+              , Space+              , Text "C"+              ]+          ]))+, Space+, Text "D"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A ]), +                 emph(body: { text(body: [B ]), +                              strong(body: text(body: [ C])) }), +                 text(body: [ D]), +                 parbreak() })
+ test/typ/compiler/show-bare-02.out view
@@ -0,0 +1,77 @@+--- parse tree ---+[ Code+    "typ/compiler/show-bare-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-bare-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-bare-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-bare-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+       , KeyValArg (Identifier "size") (Literal (Numeric 1.5 Em))+       ])+, SoftBreak+, Code+    "typ/compiler/show-bare-02.typ"+    ( line 4 , column 2 )+    (Show+       Nothing+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "text")))+          [ KeyValArg (Identifier "fill") (Ident (Identifier "red")) ]))+, SoftBreak+, Text "Forest"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      fill: rgb(13%,61%,67%,100%), +                      size: 1.5em), +                 text(body: { text(body: [+Forest], +                                   fill: rgb(13%,61%,67%,100%), +                                   size: 1.5em), +                              parbreak() }, +                      fill: rgb(100%,25%,21%,100%)) })
+ test/typ/compiler/show-bare-03.out view
@@ -0,0 +1,53 @@+--- parse tree ---+[ Code+    "typ/compiler/show-bare-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-bare-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-bare-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compiler/show-bare-03.typ"+    ( line 2 , column 2 )+    (Show Nothing (Block (Content [ Text "Shown" ])))+, SoftBreak+, Text "Ignored"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Shown]) })
+ test/typ/compiler/show-bare-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/show-bare-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/show-bare-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/show-node-00.out view
@@ -0,0 +1,83 @@+--- parse tree ---+[ Code+    "typ/compiler/show-node-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-node-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-node-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-node-00.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "list")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Plus+             (Plus+                (Literal (String "("))+                (FuncCall+                   (FieldAccess+                      (Ident (Identifier "join"))+                      (FuncCall+                         (FieldAccess+                            (Ident (Identifier "map"))+                            (FieldAccess+                               (Ident (Identifier "children")) (Ident (Identifier "it"))))+                         [ NormalArg+                             (FuncExpr+                                [ NormalParam (Identifier "v") ]+                                (FieldAccess (Ident (Identifier "body")) (Ident (Identifier "v"))))+                         ]))+                   [ NormalArg (Literal (String ", ")) ]))+             (Literal (String ")")))))+, ParBreak+, BulletListItem+    [ Text "A"+    , SoftBreak+    , BulletListItem [ Text "B" ]+    , SoftBreak+    , BulletListItem [ Text "C" ]+    ]+, SoftBreak+, BulletListItem [ Text "D" ]+, SoftBreak+, BulletListItem [ Text "E" , ParBreak ]+]+"typ/compiler/show-node-00.typ" (line 3, column 2):+unexpected end of input+Content does not have a method "body" or FieldAccess requires a dictionary
+ test/typ/compiler/show-node-01.out view
@@ -0,0 +1,80 @@+--- parse tree ---+[ Code+    "typ/compiler/show-node-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-node-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-node-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-node-01.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "heading")))+       (Block (Content [ Text "B" ])))+, SoftBreak+, Code+    "typ/compiler/show-node-01.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Ident (Identifier "heading")))+       (Set+          (Ident (Identifier "text"))+          [ KeyValArg (Identifier "size") (Literal (Numeric 10.0 Pt))+          , KeyValArg (Identifier "weight") (Literal (Int 400))+          ]))+, SoftBreak+, Text "A"+, Space+, Code+    "typ/compiler/show-node-01.typ"+    ( line 5 , column 4 )+    (Block (Content [ Heading 1 [ Text "Heading" ] ]))+, Space+, Text "C"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+A ]), +                 text(body: [B]), +                 text(body: [ C]), +                 parbreak() })
+ test/typ/compiler/show-node-02.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/compiler/show-node-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-node-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-node-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-node-02.typ"+    ( line 3 , column 2 )+    (Show (Just (Ident (Identifier "heading"))) (Literal None))+, ParBreak+, Text "Where"+, Space+, Text "is"+, SoftBreak+, Heading+    1+    [ Text "There"+    , Space+    , Text "are"+    , Space+    , Text "no"+    , Space+    , Text "headings"+    , Space+    , Text "around"+    , Space+    , Text "here!"+    ]+, Text "my"+, Space+, Text "heading?"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Where is+]), +                 text(body: [my heading?]), +                 parbreak() })
+ test/typ/compiler/show-node-03.out view
@@ -0,0 +1,159 @@+--- parse tree ---+[ Code+    "typ/compiler/show-node-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-node-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-node-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-node-03.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "heading")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (FuncCall+             (Ident (Identifier "block"))+             [ NormalArg+                 (Block+                    (CodeBlock+                       [ Set+                           (Ident (Identifier "text"))+                           [ NormalArg (Literal (Numeric 10.0 Pt)) ]+                       , FuncCall+                           (Ident (Identifier "box"))+                           [ NormalArg+                               (FuncCall+                                  (Ident (Identifier "move"))+                                  [ KeyValArg (Identifier "dy") (Negated (Literal (Numeric 1.0 Pt)))+                                  , BlockArg [ Text "\128214" ]+                                  ])+                           ]+                       , FuncCall+                           (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 5.0 Pt)) ]+                       , If+                           [ ( Equals+                                 (FieldAccess+                                    (Ident (Identifier "level")) (Ident (Identifier "it")))+                                 (Literal (Int 1))+                             , Block+                                 (CodeBlock+                                    [ FuncCall+                                        (Ident (Identifier "underline"))+                                        [ NormalArg+                                            (FuncCall+                                               (Ident (Identifier "text"))+                                               [ NormalArg (Literal (Numeric 1.25 Em))+                                               , NormalArg (Ident (Identifier "blue"))+                                               , NormalArg+                                                   (FieldAccess+                                                      (Ident (Identifier "body"))+                                                      (Ident (Identifier "it")))+                                               ])+                                        ]+                                    ])+                             )+                           , ( Literal (Boolean True)+                             , Block+                                 (CodeBlock+                                    [ FuncCall+                                        (Ident (Identifier "text"))+                                        [ NormalArg (Ident (Identifier "red"))+                                        , NormalArg+                                            (FieldAccess+                                               (Ident (Identifier "body"))+                                               (Ident (Identifier "it")))+                                        ]+                                    ])+                             )+                           ]+                       ]))+             ])))+, ParBreak+, Heading 1 [ Text "Task" , Space , Text "1" ]+, Text "Some"+, Space+, Text "text"+, Text "."+, ParBreak+, Heading 2 [ Text "Subtask" ]+, Text "Some"+, Space+, Text "more"+, Space+, Text "text"+, Text "."+, ParBreak+, Heading 1 [ Text "Task" , Space , Text "2" ]+, Text "Another"+, Space+, Text "text"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 block(body: { box(body: move(body: text(body: [📖], +                                                         size: 10.0pt), +                                              dy: -1.0pt)), +                               h(amount: 5.0pt), +                               underline(body: text(body: text(body: [Task 1]), +                                                    color: rgb(0%,45%,85%,100%), +                                                    size: 1.25em)) }), +                 text(body: [Some text.]), +                 parbreak(), +                 block(body: { box(body: move(body: text(body: [📖], +                                                         size: 10.0pt), +                                              dy: -1.0pt)), +                               h(amount: 5.0pt), +                               text(body: text(body: [Subtask]), +                                    color: rgb(100%,25%,21%,100%), +                                    size: 10.0pt) }), +                 text(body: [Some more text.]), +                 parbreak(), +                 block(body: { box(body: move(body: text(body: [📖], +                                                         size: 10.0pt), +                                              dy: -1.0pt)), +                               h(amount: 5.0pt), +                               underline(body: text(body: text(body: [Task 2]), +                                                    color: rgb(0%,45%,85%,100%), +                                                    size: 1.25em)) }), +                 text(body: [Another text.]), +                 parbreak() })
+ test/typ/compiler/show-node-04.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/compiler/show-node-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-node-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-node-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-node-04.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "heading")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (CodeBlock+                [ Set+                    (Ident (Identifier "text"))+                    [ NormalArg (Ident (Identifier "red")) ]+                , Show+                    (Just (Literal (String "ding")))+                    (Block (Content [ Text "\128718" ]))+                , FieldAccess (Ident (Identifier "body")) (Ident (Identifier "it"))+                ]))))+, ParBreak+, Heading 1 [ Text "Heading" ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: { [Hea], +                              text(body: [🛎], +                                   color: rgb(100%,25%,21%,100%)), +                              [] }) })
− test/typ/compiler/show-node-05.typ
@@ -1,16 +0,0 @@-// Test that scoping works as expected.-#{-  let world = [ World ]-  show "W": strong-  world-  {-    set text(blue)-    show: it => {-      show "o": "Ø"-      it-    }-    world-  }-  world-}-
+ test/typ/compiler/show-node-06.out view
@@ -0,0 +1,56 @@+--- parse tree ---+[ Code+    "typ/compiler/show-node-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-node-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-node-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compiler/show-node-06.typ"+    ( line 2 , column 2 )+    (Show+       (Just (Ident (Identifier "heading")))+       (Block (Content [ Text "1234" ])))+, SoftBreak+, Heading 1 [ Text "Heading" ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [1234]) })
+ test/typ/compiler/show-node-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/show-node-08.out view
@@ -0,0 +1,55 @@+--- parse tree ---+[ Code+    "typ/compiler/show-node-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-node-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-node-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compiler/show-node-08.typ"+    ( line 2 , column 2 )+    (Show (Just (Ident (Identifier "text"))) (Literal None))+, SoftBreak+, Text "Hey"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Hey]), +                 parbreak() })
+ test/typ/compiler/show-node-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/show-node-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/show-node-11.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/show-node-12.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/show-recursive-00.out view
@@ -0,0 +1,59 @@+--- parse tree ---+[ Code+    "typ/compiler/show-recursive-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-recursive-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-recursive-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-recursive-00.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "heading")))+       (FuncExpr+          [ NormalParam (Identifier "it") ] (Ident (Identifier "it"))))+, SoftBreak+, Heading 1 [ Text "Heading" ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 heading(body: text(body: [Heading]), +                         level: 1) })
+ test/typ/compiler/show-recursive-01.out view
@@ -0,0 +1,86 @@+--- parse tree ---+[ Code+    "typ/compiler/show-recursive-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-recursive-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-recursive-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-recursive-01.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "list")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "scale")))+          [ KeyValArg (Identifier "origin") (Ident (Identifier "left"))+          , KeyValArg (Identifier "x") (Literal (Numeric 80.0 Percent))+          ]))+, SoftBreak+, Code+    "typ/compiler/show-recursive-01.typ"+    ( line 4 , column 2 )+    (Show (Just (Ident (Identifier "heading"))) (Block (Content [])))+, SoftBreak+, Code+    "typ/compiler/show-recursive-01.typ"+    ( line 5 , column 2 )+    (Show (Just (Ident (Identifier "enum"))) (Block (Content [])))+, SoftBreak+, BulletListItem [ Text "Actual" ]+, SoftBreak+, BulletListItem [ Text "Tight" ]+, SoftBreak+, BulletListItem [ Text "List" ]+, SoftBreak+, Heading 1 [ Text "Nope" ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 scale(body: list(children: (text(body: [Actual]), +                                             text(body: [Tight]), +                                             text(body: [List]))), +                       origin: left, +                       x: 80%) })
+ test/typ/compiler/show-recursive-02.out view
@@ -0,0 +1,132 @@+--- parse tree ---+[ Code+    "typ/compiler/show-recursive-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-recursive-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-recursive-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-recursive-02.typ"+    ( line 3 , column 2 )+    (LetFunc+       (Identifier "starwars")+       [ NormalParam (Identifier "body") ]+       (Block+          (CodeBlock+             [ Show+                 (Just (Ident (Identifier "list")))+                 (FuncExpr+                    [ NormalParam (Identifier "it") ]+                    (FuncCall+                       (Ident (Identifier "block"))+                       [ NormalArg+                           (Block+                              (CodeBlock+                                 [ FuncCall+                                     (Ident (Identifier "stack"))+                                     [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+                                     , NormalArg+                                         (FuncCall+                                            (Ident (Identifier "text"))+                                            [ NormalArg (Ident (Identifier "red"))+                                            , NormalArg (Ident (Identifier "it"))+                                            ])+                                     , NormalArg (Literal (Numeric 1.0 Fr))+                                     , NormalArg+                                         (FuncCall+                                            (Ident (Identifier "scale"))+                                            [ KeyValArg+                                                (Identifier "x")+                                                (Negated (Literal (Numeric 100.0 Percent)))+                                            , NormalArg+                                                (FuncCall+                                                   (Ident (Identifier "text"))+                                                   [ NormalArg (Ident (Identifier "blue"))+                                                   , NormalArg (Ident (Identifier "it"))+                                                   ])+                                            ])+                                     ]+                                 ]))+                       ]))+             , Ident (Identifier "body")+             ])))+, ParBreak+, BulletListItem+    [ Text "Normal" , Space , Text "list" , SoftBreak ]+, SoftBreak+, Code+    "typ/compiler/show-recursive-02.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "starwars"))+       [ BlockArg+           [ SoftBreak+           , BulletListItem [ Text "Star" ]+           , SoftBreak+           , BulletListItem [ Text "Wars" ]+           , SoftBreak+           , BulletListItem [ Text "List" , ParBreak ]+           ]+       ])+, ParBreak+, BulletListItem [ Text "Normal" , Space , Text "list" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 list(children: (text(body: [Normal list+]))), +                 text(body: [+]), +                 block(body: stack(children: (text(body: list(children: (text(body: [Star]), +                                                                         text(body: [Wars]), +                                                                         { text(body: [List]), +                                                                           parbreak() })), +                                                   color: rgb(100%,25%,21%,100%)), +                                              1.0fr, +                                              scale(body: text(body: list(children: (text(body: [Star]), +                                                                                     text(body: [Wars]), +                                                                                     { text(body: [List]), +                                                                                       parbreak() })), +                                                               color: rgb(0%,45%,85%,100%)), +                                                    x: -100%)), +                                   dir: ltr)), +                 parbreak(), +                 list(children: ({ text(body: [Normal list]), +                                   parbreak() })) })
+ test/typ/compiler/show-recursive-03.out view
@@ -0,0 +1,104 @@+--- parse tree ---+[ Code+    "typ/compiler/show-recursive-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-recursive-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-recursive-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Comment+, Comment+, Code+    "typ/compiler/show-recursive-03.typ"+    ( line 6 , column 2 )+    (Set+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/compiler/show-recursive-03.typ"+    ( line 7 , column 2 )+    (Show+       (Just (Ident (Identifier "list")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "rect")))+          [ KeyValArg (Identifier "stroke") (Ident (Identifier "blue")) ]))+, SoftBreak+, Code+    "typ/compiler/show-recursive-03.typ"+    ( line 8 , column 2 )+    (Show+       (Just (Ident (Identifier "list")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "rect")))+          [ KeyValArg (Identifier "stroke") (Ident (Identifier "red")) ]))+, SoftBreak+, Code+    "typ/compiler/show-recursive-03.typ"+    ( line 9 , column 2 )+    (Show+       (Just (Ident (Identifier "list"))) (Ident (Identifier "block")))+, ParBreak+, BulletListItem+    [ Text "List"+    , SoftBreak+    , BulletListItem [ Text "Nested" ]+    , SoftBreak+    , BulletListItem [ Text "List" ]+    ]+, SoftBreak+, BulletListItem [ Text "Recursive!" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 block(body: list(children: ({ text(body: [List+]), +                                               block(body: list(children: (text(body: [Nested]), +                                                                           text(body: [List])))) }, +                                             { text(body: [Recursive!]), +                                               parbreak() }))) })
test/typ/compiler/show-recursive-03.typ view
@@ -1,4 +1,7 @@ // Test multi-recursion with nested lists.+// Note to self: the problem here is that the block is applied first,+// and then the others don't match because we're not looking recursively in+// the result of applying the show rule... #set rect(inset: 3pt) #show list: rect.with(stroke: blue) #show list: rect.with(stroke: red)
+ test/typ/compiler/show-selector-00.out view
@@ -0,0 +1,212 @@+--- parse tree ---+[ Code+    "typ/compiler/show-selector-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-selector-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-selector-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-selector-00.typ"+    ( line 3 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "raw")))+             [ KeyValArg (Identifier "block") (Literal (Boolean False)) ]))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "box")))+          [ KeyValArg (Identifier "radius") (Literal (Numeric 2.0 Pt))+          , KeyValArg+              (Identifier "outset")+              (Dict+                 [ Reg ( Ident (Identifier "y") , Literal (Numeric 2.5 Pt) ) ])+          , KeyValArg+              (Identifier "inset")+              (Dict+                 [ Reg ( Ident (Identifier "x") , Literal (Numeric 3.0 Pt) )+                 , Reg ( Ident (Identifier "y") , Literal (Numeric 0.0 Pt) )+                 ])+          , KeyValArg+              (Identifier "fill")+              (FuncCall+                 (Ident (Identifier "luma")) [ NormalArg (Literal (Int 230)) ])+          ]))+, ParBreak+, Comment+, Code+    "typ/compiler/show-selector-00.typ"+    ( line 11 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "raw")))+             [ KeyValArg (Identifier "block") (Literal (Boolean True)) ]))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "block")))+          [ KeyValArg+              (Identifier "outset") (Negated (Literal (Numeric 3.0 Pt)))+          , KeyValArg (Identifier "inset") (Literal (Numeric 11.0 Pt))+          , KeyValArg+              (Identifier "fill")+              (FuncCall+                 (Ident (Identifier "luma")) [ NormalArg (Literal (Int 230)) ])+          , KeyValArg+              (Identifier "stroke")+              (Dict+                 [ Reg+                     ( Ident (Identifier "left")+                     , Plus+                         (Literal (Numeric 1.5 Pt))+                         (FuncCall+                            (Ident (Identifier "luma")) [ NormalArg (Literal (Int 180)) ])+                     )+                 ])+          ]))+, ParBreak+, Code+    "typ/compiler/show-selector-00.typ"+    ( line 18 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg+           (Identifier "margin")+           (Dict+              [ Reg ( Ident (Identifier "top") , Literal (Numeric 12.0 Pt) ) ])+       ])+, SoftBreak+, Code+    "typ/compiler/show-selector-00.typ"+    ( line 19 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, ParBreak+, Text "This"+, Space+, Text "code"+, Space+, Text "tests"+, Space+, RawInline "code"+, SoftBreak+, Text "with"+, Space+, Text "selectors"+, Space+, Text "and"+, Space+, Text "justification"+, Text "."+, ParBreak+, RawBlock "rs" "code!(\"it\");\n"+, ParBreak+, Text "You"+, Space+, Text "can"+, Space+, Text "use"+, Space+, Text "the"+, Space+, RawBlock "rs" "*const T"+, Space+, Text "pointer"+, Space+, Text "or"+, SoftBreak+, Text "the"+, Space+, RawBlock "rs" "&mut T"+, Space+, Text "reference"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 parbreak(), +                 text(body: [+]), +                 parbreak(), +                 text(body: [This code tests ]), +                 box(body: raw(block: false, +                               lang: none, +                               text: "code"), +                     fill: luma(23000%), +                     inset: (x: 3.0pt, y: 0.0pt), +                     outset: (y: 2.5pt), +                     radius: 2.0pt), +                 text(body: [+with selectors and justification.]), +                 parbreak(), +                 block(body: raw(block: true, +                                 lang: "rs", +                                 text: "code!(\"it\");\n"), +                       fill: luma(23000%), +                       inset: 11.0pt, +                       outset: -3.0pt, +                       stroke: (left: (thickness: 1.5pt,+                                       color: luma(18000%)))), +                 parbreak(), +                 text(body: [You can use the ]), +                 block(body: raw(block: true, +                                 lang: "rs", +                                 text: "*const T"), +                       fill: luma(23000%), +                       inset: 11.0pt, +                       outset: -3.0pt, +                       stroke: (left: (thickness: 1.5pt,+                                       color: luma(18000%)))), +                 text(body: [ pointer or+the ]), +                 block(body: raw(block: true, +                                 lang: "rs", +                                 text: "&mut T"), +                       fill: luma(23000%), +                       inset: 11.0pt, +                       outset: -3.0pt, +                       stroke: (left: (thickness: 1.5pt,+                                       color: luma(18000%)))), +                 text(body: [ reference.]), +                 parbreak() })
+ test/typ/compiler/show-selector-01.out view
@@ -0,0 +1,95 @@+--- parse tree ---+[ Code+    "typ/compiler/show-selector-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-selector-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-selector-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compiler/show-selector-01.typ"+    ( line 2 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "heading")))+             [ KeyValArg (Identifier "level") (Literal (Int 1)) ]))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Ident (Identifier "red")) ]))+, SoftBreak+, Code+    "typ/compiler/show-selector-01.typ"+    ( line 3 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "heading")))+             [ KeyValArg (Identifier "level") (Literal (Int 2)) ]))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Ident (Identifier "blue")) ]))+, SoftBreak+, Code+    "typ/compiler/show-selector-01.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Ident (Identifier "heading")))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Ident (Identifier "green")) ]))+, SoftBreak+, Heading 1 [ Text "Red" ]+, Heading 2 [ Text "Blue" ]+, Heading 3 [ Text "Green" ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 heading(body: text(body: [Red]), +                         level: 1), +                 heading(body: text(body: [Blue]), +                         level: 2), +                 heading(body: text(body: [Green]), +                         level: 3) })
+ test/typ/compiler/show-selector-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/show-text-00.out view
@@ -0,0 +1,81 @@+--- parse tree ---+[ Code+    "typ/compiler/show-text-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-text-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-text-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-text-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "Roboto")) ])+, SoftBreak+, Code+    "typ/compiler/show-text-00.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Literal (String "Der Spiegel")))+       (Ident (Identifier "smallcaps")))+, SoftBreak+, Text "Die"+, Space+, Text "Zeitung"+, Space+, Text "Der"+, Space+, Text "Spiegel"+, Space+, Text "existiert"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      font: "Roboto"), +                 text(body: [+Die Zeitung ], +                      font: "Roboto"), +                 smallcaps(body: [Der Spiegel]), +                 text(body: [ existiert.], +                      font: "Roboto"), +                 parbreak() })
+ test/typ/compiler/show-text-01.out view
@@ -0,0 +1,156 @@+--- parse tree ---+[ Code+    "typ/compiler/show-text-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-text-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-text-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-text-01.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Literal (String "TeX")))+       (Block+          (Content+             [ Text "T"+             , Code+                 "typ/compiler/show-text-01.typ"+                 ( line 3 , column 17 )+                 (FuncCall+                    (Ident (Identifier "h"))+                    [ NormalArg (Negated (Literal (Numeric 0.145 Em))) ])+             , Code+                 "typ/compiler/show-text-01.typ"+                 ( line 3 , column 29 )+                 (FuncCall+                    (Ident (Identifier "box"))+                    [ NormalArg+                        (FuncCall+                           (Ident (Identifier "move"))+                           [ KeyValArg (Identifier "dy") (Literal (Numeric 0.233 Em))+                           , BlockArg [ Text "E" ]+                           ])+                    ])+             , Code+                 "typ/compiler/show-text-01.typ"+                 ( line 3 , column 55 )+                 (FuncCall+                    (Ident (Identifier "h"))+                    [ NormalArg (Negated (Literal (Numeric 0.135 Em))) ])+             , Text "X"+             ])))+, SoftBreak+, Code+    "typ/compiler/show-text-01.typ"+    ( line 4 , column 2 )+    (Show+       (Just+          (FuncCall+             (Ident (Identifier "regex"))+             [ NormalArg (Literal (String "(Lua)?(La)?TeX")) ]))+       (FuncExpr+          [ NormalParam (Identifier "name") ]+          (FuncCall+             (Ident (Identifier "box"))+             [ NormalArg+                 (FuncCall+                    (Ident (Identifier "text"))+                    [ KeyValArg+                        (Identifier "font") (Literal (String "New Computer Modern"))+                    , BlockArg+                        [ Code+                            "typ/compiler/show-text-01.typ"+                            ( line 4 , column 79 )+                            (Ident (Identifier "name"))+                        ]+                    ])+             ])))+, ParBreak+, Text "TeX,"+, Space+, Text "LaTeX,"+, Space+, Text "LuaTeX"+, Space+, Text "and"+, Space+, Text "LuaLaTeX!"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 box(body: text(body: { text(body: [T]), +                                        h(amount: -0.145em), +                                        box(body: move(body: text(body: [E]), +                                                       dy: 0.233em)), +                                        h(amount: -0.135em), +                                        text(body: [X]) }, +                                font: "New Computer Modern")), +                 text(body: [, ]), +                 box(body: text(body: { text(body: [La]), +                                        text(body: [T]), +                                        h(amount: -0.145em), +                                        box(body: move(body: text(body: [E]), +                                                       dy: 0.233em)), +                                        h(amount: -0.135em), +                                        text(body: [X]) }, +                                font: "New Computer Modern")), +                 text(body: [, ]), +                 box(body: text(body: { text(body: [Lua]), +                                        text(body: [T]), +                                        h(amount: -0.145em), +                                        box(body: move(body: text(body: [E]), +                                                       dy: 0.233em)), +                                        h(amount: -0.135em), +                                        text(body: [X]) }, +                                font: "New Computer Modern")), +                 text(body: [ and ]), +                 box(body: text(body: { text(body: [LuaLa]), +                                        text(body: [T]), +                                        h(amount: -0.145em), +                                        box(body: move(body: text(body: [E]), +                                                       dy: 0.233em)), +                                        h(amount: -0.135em), +                                        text(body: [X]) }, +                                font: "New Computer Modern")), +                 text(body: [!]), +                 parbreak() })
+ test/typ/compiler/show-text-02.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/compiler/show-text-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-text-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-text-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-text-02.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Literal (String "A"))) (Block (Content [ Text "BB" ])))+, SoftBreak+, Code+    "typ/compiler/show-text-02.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Literal (String "B"))) (Block (Content [ Text "CC" ])))+, SoftBreak+, Text "AA"+, Space+, Text "("+, Text "8)"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [BB]), +                 text(body: [BB]), +                 text(body: [ (8)]), +                 parbreak() })
+ test/typ/compiler/show-text-03.out view
@@ -0,0 +1,80 @@+--- parse tree ---+[ Code+    "typ/compiler/show-text-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-text-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-text-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-text-03.typ"+    ( line 3 , column 2 )+    (Show+       (Just+          (FuncCall+             (Ident (Identifier "regex"))+             [ NormalArg (Literal (String "(?i)\\bworld\\b")) ]))+       (Block (Content [ Text "\127757" ])))+, ParBreak+, Text "Treeworld,"+, Space+, Text "the"+, Space+, Text "World"+, Space+, Text "of"+, Space+, Text "worlds,"+, Space+, Text "is"+, Space+, Text "a"+, Space+, Text "world"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Treeworld, the ]), +                 text(body: [🌍]), +                 text(body: [ of worlds, is a ]), +                 text(body: [🌍]), +                 text(body: [.]), +                 parbreak() })
+ test/typ/compiler/show-text-04.out view
@@ -0,0 +1,157 @@+--- parse tree ---+[ Code+    "typ/compiler/show-text-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-text-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-text-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-text-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Code+    "typ/compiler/show-text-04.typ"+    ( line 4 , column 2 )+    (Show+       (Just+          (FuncCall+             (Ident (Identifier "regex"))+             [ NormalArg (Literal (String "\\S")) ]))+       (FuncExpr+          [ NormalParam (Identifier "letter") ]+          (FuncCall+             (Ident (Identifier "box"))+             [ KeyValArg (Identifier "stroke") (Literal (Numeric 1.0 Pt))+             , KeyValArg (Identifier "inset") (Literal (Numeric 2.0 Pt))+             , NormalArg+                 (FuncCall+                    (Ident (Identifier "upper"))+                    [ NormalArg (Ident (Identifier "letter")) ])+             ])))+, SoftBreak+, Code+    "typ/compiler/show-text-04.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 5)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 box(body: upper(text: [L]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [o]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [r]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [e]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [m]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 text(body: [ ]), +                 box(body: upper(text: [i]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [p]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [s]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [u]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [m]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 text(body: [ ]), +                 box(body: upper(text: [d]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [o]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [l]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [o]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [r]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 text(body: [ ]), +                 box(body: upper(text: [s]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [i]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [t]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 text(body: [ ]), +                 box(body: upper(text: [a]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [m]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [e]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [t]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 box(body: upper(text: [,]), +                     inset: 2.0pt, +                     stroke: 1.0pt), +                 parbreak() })
+ test/typ/compiler/show-text-05.out view
@@ -0,0 +1,104 @@+--- parse tree ---+[ Code+    "typ/compiler/show-text-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-text-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-text-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-text-05.typ"+    ( line 3 , column 2 )+    (Show+       (Just+          (FuncCall+             (Ident (Identifier "regex"))+             [ NormalArg (Literal (String "(?i)rust")) ]))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (Content+                [ Code+                    "typ/compiler/show-text-05.typ"+                    ( line 3 , column 34 )+                    (Ident (Identifier "it"))+                , Space+                , Text "("+                , Text "\128640)"+                ]))))+, SoftBreak+, Text "Rust"+, Space+, Text "is"+, Space+, Text "memory"+, Text "-"+, Text "safe"+, Space+, Text "and"+, Space+, Text "blazingly"+, Space+, Text "fast"+, Text "."+, Space+, Text "Let"+, Quote '\''+, Text "s"+, Space+, Text "rewrite"+, Space+, Text "everything"+, Space+, Text "in"+, Space+, Text "rust"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [Rust]), +                 text(body: [ (🚀)]), +                 text(body: [ is memory-safe and blazingly fast. Let’s rewrite everything in ]), +                 text(body: [rust]), +                 text(body: [ (🚀)]), +                 text(body: [.]), +                 parbreak() })
+ test/typ/compiler/show-text-06.out view
@@ -0,0 +1,79 @@+--- parse tree ---+[ Code+    "typ/compiler/show-text-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-text-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-text-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/show-text-06.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Literal (String "hello")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (FuncCall+             (FieldAccess+                (Ident (Identifier "join"))+                (FuncCall+                   (FieldAccess+                      (Ident (Identifier "map"))+                      (FuncCall+                         (FieldAccess+                            (Ident (Identifier "split"))+                            (FieldAccess+                               (Ident (Identifier "text")) (Ident (Identifier "it"))))+                         [ NormalArg (Literal (String "")) ]))+                   [ NormalArg (Ident (Identifier "upper")) ]))+             [ NormalArg (Literal (String "|")) ])))+, SoftBreak+, Text "Oh,"+, Space+, Text "hello"+, Space+, Text "there!"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Oh, ]), +                 text(body: [|H|E|L|L|O|]), +                 text(body: [ there!]), +                 parbreak() })
− test/typ/compiler/show-text-07.typ
@@ -1,9 +0,0 @@-// Replace worlds but only in lists.-#show list: it => [-  #show "World": [🌎]-  #it-]--World-- World-
+ test/typ/compiler/show-text-08.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/compiler/show-text-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/show-text-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/show-text-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/show-text-08.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Literal (String "GRAPH")))+       (FuncCall+          (Ident (Identifier "image"))+          [ NormalArg (Literal (String "/assets/files/graph.png")) ]))+, ParBreak+, Text "The"+, Space+, Text "GRAPH"+, Space+, Text "has"+, Space+, Text "nodes"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [The ]), +                 image(path: "/assets/files/graph.png"), +                 text(body: [ has nodes.]), +                 parbreak() })
+ test/typ/compiler/spread-00.out view
@@ -0,0 +1,101 @@+--- parse tree ---+[ Code+    "typ/compiler/spread-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/spread-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/spread-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/spread-00.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ LetFunc+              (Identifier "f")+              [ DefaultParam (Identifier "style") (Literal (String "normal"))+              , DefaultParam (Identifier "weight") (Literal (String "regular"))+              ]+              (Block+                 (CodeBlock+                    [ Plus+                        (Plus+                           (Plus+                              (Plus (Literal (String "(style: ")) (Ident (Identifier "style")))+                              (Literal (String ", weight: ")))+                           (Ident (Identifier "weight")))+                        (Literal (String ")"))+                    ]))+          , LetFunc+              (Identifier "myf")+              [ SinkParam (Just (Identifier "args")) ]+              (FuncCall+                 (Ident (Identifier "f"))+                 [ KeyValArg (Identifier "weight") (Literal (String "bold"))+                 , SpreadArg (Ident (Identifier "args"))+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (FuncCall (Ident (Identifier "myf")) [])+              , NormalArg (Literal (String "(style: normal, weight: bold)"))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "myf"))+                     [ KeyValArg (Identifier "weight") (Literal (String "black")) ])+              , NormalArg (Literal (String "(style: normal, weight: black)"))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "myf"))+                     [ KeyValArg (Identifier "style") (Literal (String "italic")) ])+              , NormalArg (Literal (String "(style: italic, weight: bold)"))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/spread-01.out view
@@ -0,0 +1,82 @@+--- parse tree ---+[ Code+    "typ/compiler/spread-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/spread-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/spread-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/spread-01.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ LetFunc+              (Identifier "f")+              [ NormalParam (Identifier "b")+              , DefaultParam (Identifier "c") (Literal (String "!"))+              ]+              (Plus (Ident (Identifier "b")) (Ident (Identifier "c")))+          , LetFunc+              (Identifier "g")+              [ NormalParam (Identifier "a")+              , SinkParam (Just (Identifier "sink"))+              ]+              (Plus+                 (Ident (Identifier "a"))+                 (FuncCall+                    (Ident (Identifier "f"))+                    [ SpreadArg (Ident (Identifier "sink")) ]))+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "g"))+                     [ NormalArg (Literal (String "a"))+                     , NormalArg (Literal (String "b"))+                     , KeyValArg (Identifier "c") (Literal (String "c"))+                     ])+              , NormalArg (Literal (String "abc"))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/spread-02.out view
@@ -0,0 +1,84 @@+--- parse tree ---+[ Code+    "typ/compiler/spread-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/spread-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/spread-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/spread-02.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ LetFunc+              (Identifier "save")+              [ SinkParam (Just (Identifier "args")) ]+              (Block+                 (CodeBlock+                    [ FuncCall+                        (Ident (Identifier "test"))+                        [ NormalArg+                            (FuncCall+                               (Ident (Identifier "type"))+                               [ NormalArg (Ident (Identifier "args")) ])+                        , NormalArg (Literal (String "arguments"))+                        ]+                    , FuncCall+                        (Ident (Identifier "test"))+                        [ NormalArg+                            (FuncCall+                               (Ident (Identifier "repr"))+                               [ NormalArg (Ident (Identifier "args")) ])+                        , NormalArg (Literal (String "(three: true, 1, 2)"))+                        ]+                    ]))+          , FuncCall+              (Ident (Identifier "save"))+              [ NormalArg (Literal (Int 1))+              , NormalArg (Literal (Int 2))+              , KeyValArg (Identifier "three") (Literal (Boolean True))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/spread-03.out view
@@ -0,0 +1,131 @@+--- parse tree ---+[ Code+    "typ/compiler/spread-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/spread-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/spread-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/spread-03.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "more")))+              (Array+                 [ Reg (Literal (Int 3))+                 , Reg (Negated (Literal (Int 3)))+                 , Reg (Literal (Int 6))+                 , Reg (Literal (Int 10))+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "min")) (Ident (Identifier "calc")))+                     [ NormalArg (Literal (Int 1))+                     , NormalArg (Literal (Int 2))+                     , SpreadArg (Ident (Identifier "more"))+                     ])+              , NormalArg (Negated (Literal (Int 3)))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "max")) (Ident (Identifier "calc")))+                     [ SpreadArg (Ident (Identifier "more"))+                     , NormalArg (Literal (Int 9))+                     ])+              , NormalArg (Literal (Int 10))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "max")) (Ident (Identifier "calc")))+                     [ SpreadArg (Ident (Identifier "more"))+                     , NormalArg (Literal (Int 11))+                     ])+              , NormalArg (Literal (Int 11))+              ]+          ]))+, ParBreak+, Code+    "typ/compiler/spread-03.typ"+    ( line 10 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "more")))+              (Dict+                 [ Reg ( Ident (Identifier "c") , Literal (Int 3) )+                 , Reg ( Ident (Identifier "d") , Literal (Int 4) )+                 ])+          , LetFunc+              (Identifier "tostr")+              [ SinkParam (Just (Identifier "args")) ]+              (FuncCall+                 (Ident (Identifier "repr"))+                 [ NormalArg (Ident (Identifier "args")) ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "tostr"))+                     [ KeyValArg (Identifier "a") (Literal (Int 1))+                     , SpreadArg (Ident (Identifier "more"))+                     , KeyValArg (Identifier "b") (Literal (Int 2))+                     ])+              , NormalArg (Literal (String "(a: 1, c: 3, d: 4, b: 2)"))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/spread-04.out view
@@ -0,0 +1,84 @@+--- parse tree ---+[ Code+    "typ/compiler/spread-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/spread-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/spread-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/spread-04.typ"+    ( line 3 , column 2 )+    (LetFunc (Identifier "f") [] (Literal None))+, SoftBreak+, Code+    "typ/compiler/spread-04.typ"+    ( line 4 , column 2 )+    (FuncCall (Ident (Identifier "f")) [ SpreadArg (Literal None) ])+, SoftBreak+, Code+    "typ/compiler/spread-04.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "f"))+       [ SpreadArg+           (If [ ( Literal (Boolean False) , Block (CodeBlock []) ) ])+       ])+, SoftBreak+, Code+    "typ/compiler/spread-04.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "f"))+       [ SpreadArg+           (For+              (BasicBind (Just (Identifier "x")))+              (Array [])+              (Block (Content [])))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak() })
+ test/typ/compiler/spread-05.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/compiler/spread-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/spread-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/spread-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/spread-05.typ"+    ( line 3 , column 2 )+    (LetFunc+       (Identifier "f")+       [ SinkParam Nothing , NormalParam (Identifier "a") ]+       (Ident (Identifier "a")))+, SoftBreak+, Code+    "typ/compiler/spread-05.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "f"))+              [ NormalArg (Literal (Int 1))+              , NormalArg (Literal (Int 2))+              , NormalArg (Literal (Int 3))+              ])+       , NormalArg (Literal (Int 3))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/spread-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/spread-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/spread-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/spread-09.out view
@@ -0,0 +1,127 @@+--- parse tree ---+[ Code+    "typ/compiler/spread-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/spread-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/spread-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/spread-09.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "l")))+              (Array+                 [ Reg (Literal (Int 1))+                 , Reg (Literal (Int 2))+                 , Reg (Literal (Int 3))+                 ])+          , Let+              (BasicBind (Just (Identifier "r")))+              (Array+                 [ Reg (Literal (Int 5))+                 , Reg (Literal (Int 6))+                 , Reg (Literal (Int 7))+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (Array+                     [ Spr (Ident (Identifier "l"))+                     , Reg (Literal (Int 4))+                     , Spr (Ident (Identifier "r"))+                     ])+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "range"))+                     [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 8)) ])+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg (Dict [ Spr (Literal None) ]) , NormalArg (Array []) ]+          ]))+, ParBreak+, Code+    "typ/compiler/spread-09.typ"+    ( line 10 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "x")))+              (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ])+          , Let+              (BasicBind (Just (Identifier "y")))+              (Dict [ Reg ( Ident (Identifier "b") , Literal (Int 2) ) ])+          , Let+              (BasicBind (Just (Identifier "z")))+              (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 3) ) ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (Dict+                     [ Spr (Ident (Identifier "x"))+                     , Spr (Ident (Identifier "y"))+                     , Spr (Ident (Identifier "z"))+                     ])+              , NormalArg+                  (Dict+                     [ Reg ( Ident (Identifier "a") , Literal (Int 3) )+                     , Reg ( Ident (Identifier "b") , Literal (Int 2) )+                     ])+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (Dict+                     [ Spr (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ])+                     , Reg ( Ident (Identifier "b") , Literal (Int 2) )+                     ])+              , NormalArg+                  (Dict+                     [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+                     , Reg ( Ident (Identifier "b") , Literal (Int 2) )+                     ])+              ]+          ]))+, ParBreak+]+"typ/compiler/spread-09.typ" (line 3, column 2):+unexpected end of input+expecting end of input+Could not spread TNone into dictionary
+ test/typ/compiler/spread-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/spread-11.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/spread-12.out view
@@ -0,0 +1,106 @@+--- parse tree ---+[ Code+    "typ/compiler/spread-12.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/spread-12.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/spread-12.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/spread-12.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ LetFunc+              (Identifier "f")+              [ SinkParam (Just (Identifier "a"))+              , NormalParam (Identifier "b")+              ]+              (Array+                 [ Reg (Ident (Identifier "a")) , Reg (Ident (Identifier "b")) ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "repr"))+                     [ NormalArg+                         (FuncCall (Ident (Identifier "f")) [ NormalArg (Literal (Int 1)) ])+                     ])+              , NormalArg (Literal (String "((), 1)"))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "repr"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "f"))+                            [ NormalArg (Literal (Int 1))+                            , NormalArg (Literal (Int 2))+                            , NormalArg (Literal (Int 3))+                            ])+                     ])+              , NormalArg (Literal (String "((1, 2), 3)"))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "repr"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "f"))+                            [ NormalArg (Literal (Int 1))+                            , NormalArg (Literal (Int 2))+                            , NormalArg (Literal (Int 3))+                            , NormalArg (Literal (Int 4))+                            , NormalArg (Literal (Int 5))+                            ])+                     ])+              , NormalArg (Literal (String "((1, 2, 3, 4), 5)"))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/spread-13.out view
@@ -0,0 +1,96 @@+--- parse tree ---+[ Code+    "typ/compiler/spread-13.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/spread-13.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/spread-13.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/spread-13.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ LetFunc+              (Identifier "f")+              [ NormalParam (Identifier "a")+              , SinkParam (Just (Identifier "b"))+              , NormalParam (Identifier "c")+              ]+              (Array+                 [ Reg (Ident (Identifier "a"))+                 , Reg (Ident (Identifier "b"))+                 , Reg (Ident (Identifier "c"))+                 ])+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "repr"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "f"))+                            [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ])+                     ])+              , NormalArg (Literal (String "(1, (), 2)"))+              ]+          , FuncCall+              (Ident (Identifier "test"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "repr"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "f"))+                            [ NormalArg (Literal (Int 1))+                            , NormalArg (Literal (Int 2))+                            , NormalArg (Literal (Int 3))+                            , NormalArg (Literal (Int 4))+                            , NormalArg (Literal (Int 5))+                            ])+                     ])+              , NormalArg (Literal (String "(1, (2, 3, 4), 5)"))+              ]+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/spread-14.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/string-00.out view
@@ -0,0 +1,61 @@+--- parse tree ---+[ Code+    "typ/compiler/string-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "len")) (Literal (String "Hello World!")))+              [])+       , NormalArg (Literal (Int 12))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-01.out view
@@ -0,0 +1,123 @@+--- parse tree ---+[ Code+    "typ/compiler/string-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "first")) (Literal (String "Hello")))+              [])+       , NormalArg (Literal (String "H"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "last")) (Literal (String "Hello")))+              [])+       , NormalArg (Literal (String "o"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "first"))+                 (Literal+                    (String+                       "\127987\65039\8205\127752A\127987\65039\8205\9895\65039")))+              [])+       , NormalArg (Literal (String "\127987\65039\8205\127752"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "last"))+                 (Literal+                    (String+                       "\127987\65039\8205\127752A\127987\65039\8205\9895\65039")))+              [])+       , NormalArg (Literal (String "\127987\65039\8205\9895\65039"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: ["🏳"]), +                 text(body: [ /= ]), +                 text(body: ["🏳️‍🌈"]), +                 text(body: [)]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: ["️"]), +                 text(body: [ /= ]), +                 text(body: ["🏳️‍⚧️"]), +                 text(body: [)]), +                 parbreak() })
+ test/typ/compiler/string-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/string-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/string-04.out view
@@ -0,0 +1,126 @@+--- parse tree ---+[ Code+    "typ/compiler/string-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-04.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "at")) (Literal (String "Hello")))+              [ NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (String "e"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-04.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "at")) (Literal (String "Hello")))+              [ NormalArg (Literal (Int 4)) ])+       , NormalArg (Literal (String "o"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-04.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "at")) (Literal (String "Hello")))+              [ NormalArg (Negated (Literal (Int 1))) ])+       , NormalArg (Literal (String "o"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-04.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "at")) (Literal (String "Hello")))+              [ NormalArg (Negated (Literal (Int 2))) ])+       , NormalArg (Literal (String "l"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-04.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "at"))+                 (Literal (String "Hey: \127987\65039\8205\127752 there!")))+              [ NormalArg (Literal (Int 5)) ])+       , NormalArg (Literal (String "\127987\65039\8205\127752"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: ["🏳"]), +                 text(body: [ /= ]), +                 text(body: ["🏳️‍🌈"]), +                 text(body: [)]), +                 parbreak() })
+ test/typ/compiler/string-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/string-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/string-07.out view
@@ -0,0 +1,116 @@+--- parse tree ---+[ Code+    "typ/compiler/string-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-07.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "slice")) (Literal (String "abc")))+              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ])+       , NormalArg (Literal (String "b"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-07.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "slice")) (Literal (String "abc\127969def")))+              [ NormalArg (Literal (Int 2)) , NormalArg (Literal (Int 7)) ])+       , NormalArg (Literal (String "c\127969"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-07.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "slice")) (Literal (String "abc\127969def")))+              [ NormalArg (Literal (Int 2))+              , NormalArg (Negated (Literal (Int 2)))+              ])+       , NormalArg (Literal (String "c\127969d"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-07.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "slice")) (Literal (String "abc\127969def")))+              [ NormalArg (Negated (Literal (Int 3)))+              , NormalArg (Negated (Literal (Int 1)))+              ])+       , NormalArg (Literal (String "de"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: ["c🏡def"]), +                 text(body: [ /= ]), +                 text(body: ["c🏡"]), +                 text(body: [)]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/string-09.out view
@@ -0,0 +1,136 @@+--- parse tree ---+[ Code+    "typ/compiler/string-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-09.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "clusters")) (Literal (String "abc")))+              [])+       , NormalArg+           (Array+              [ Reg (Literal (String "a"))+              , Reg (Literal (String "b"))+              , Reg (Literal (String "c"))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/string-09.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "clusters")) (Literal (String "abc")))+              [])+       , NormalArg+           (Array+              [ Reg (Literal (String "a"))+              , Reg (Literal (String "b"))+              , Reg (Literal (String "c"))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/string-09.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "clusters"))+                 (Literal (String "\127987\65039\8205\127752!")))+              [])+       , NormalArg+           (Array+              [ Reg (Literal (String "\127987\65039\8205\127752"))+              , Reg (Literal (String "!"))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/string-09.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "codepoints"))+                 (Literal (String "\127987\65039\8205\127752!")))+              [])+       , NormalArg+           (Array+              [ Reg (Literal (String "\127987"))+              , Reg (Literal (String "\65039"))+              , Reg (Literal (String "\8205"))+              , Reg (Literal (String "\127752"))+              , Reg (Literal (String "!"))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: [("🏳", "️", "‍", "🌈", "!")]), +                 text(body: [ /= ]), +                 text(body: [("🏳️‍🌈", "!")]), +                 text(body: [)]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-10.out view
@@ -0,0 +1,181 @@+--- parse tree ---+[ Code+    "typ/compiler/string-10.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-10.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-10.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-10.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "contains")) (Literal (String "abc")))+              [ NormalArg (Literal (String "b")) ])+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/string-10.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection (Literal (String "b")) (Literal (String "abc")))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/string-10.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "contains")) (Literal (String "1234f")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d")) ])+              ])+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/string-10.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection+              (FuncCall+                 (Ident (Identifier "regex"))+                 [ NormalArg (Literal (String "\\d")) ])+              (Literal (String "1234f")))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/string-10.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "contains")) (Literal (String "abc")))+              [ NormalArg (Literal (String "d")) ])+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/string-10.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (InCollection+              (Literal (String "1234g")) (Literal (String "1234f")))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/string-10.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "contains")) (Literal (String "abc")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "^[abc]$")) ])+              ])+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/string-10.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "contains")) (Literal (String "abc")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "^[abc]+$")) ])+              ])+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-11.out view
@@ -0,0 +1,173 @@+--- parse tree ---+[ Code+    "typ/compiler/string-11.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-11.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-11.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-11.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "starts-with")) (Literal (String "Typst")))+              [ NormalArg (Literal (String "Ty")) ])+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/string-11.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "starts-with")) (Literal (String "Typst")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "[Tt]ys")) ])+              ])+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/string-11.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "starts-with")) (Literal (String "Typst")))+              [ NormalArg (Literal (String "st")) ])+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/string-11.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "ends-with")) (Literal (String "Typst")))+              [ NormalArg (Literal (String "st")) ])+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/string-11.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "ends-with")) (Literal (String "Typst")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d*")) ])+              ])+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compiler/string-11.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "ends-with")) (Literal (String "Typst")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d+")) ])+              ])+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compiler/string-11.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "ends-with")) (Literal (String "Typ12")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d+")) ])+              ])+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-12.out view
@@ -0,0 +1,121 @@+--- parse tree ---+[ Code+    "typ/compiler/string-12.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-12.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-12.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-12.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "date")))+       (FuncCall+          (Ident (Identifier "regex"))+          [ NormalArg (Literal (String "\\d{2}:\\d{2}")) ]))+, SoftBreak+, Code+    "typ/compiler/string-12.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "find")) (Literal (String "Hello World")))+              [ NormalArg (Literal (String "World")) ])+       , NormalArg (Literal (String "World"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-12.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "position")) (Literal (String "Hello World")))+              [ NormalArg (Literal (String "World")) ])+       , NormalArg (Literal (Int 6))+       ])+, SoftBreak+, Code+    "typ/compiler/string-12.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "find")) (Literal (String "It's 12:13 now")))+              [ NormalArg (Ident (Identifier "date")) ])+       , NormalArg (Literal (String "12:13"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-12.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "position"))+                 (Literal (String "It's 12:13 now")))+              [ NormalArg (Ident (Identifier "date")) ])+       , NormalArg (Literal (Int 5))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-13.out view
@@ -0,0 +1,255 @@+--- parse tree ---+[ Code+    "typ/compiler/string-13.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-13.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-13.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-13.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "match")) (Literal (String "Is there a")))+              [ NormalArg (Literal (String "for this?")) ])+       , NormalArg (Literal None)+       ])+, SoftBreak+, Code+    "typ/compiler/string-13.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "match"))+                 (Literal (String "The time of my life.")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "[mit]+e")) ])+              ])+       , NormalArg+           (Dict+              [ Reg ( Ident (Identifier "start") , Literal (Int 4) )+              , Reg ( Ident (Identifier "end") , Literal (Int 8) )+              , Reg ( Ident (Identifier "text") , Literal (String "time") )+              , Reg ( Ident (Identifier "captures") , Array [] )+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/string-13.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "matches")) (Literal (String "Hello there")))+              [ NormalArg (Literal (String "\\d")) ])+       , NormalArg (Array [])+       ])+, SoftBreak+, Code+    "typ/compiler/string-13.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "matches")) (Literal (String "Day by Day.")))+              [ NormalArg (Literal (String "Day")) ])+       , NormalArg+           (Array+              [ Reg+                  (Dict+                     [ Reg ( Ident (Identifier "start") , Literal (Int 0) )+                     , Reg ( Ident (Identifier "end") , Literal (Int 3) )+                     , Reg ( Ident (Identifier "text") , Literal (String "Day") )+                     , Reg ( Ident (Identifier "captures") , Array [] )+                     ])+              , Reg+                  (Dict+                     [ Reg ( Ident (Identifier "start") , Literal (Int 7) )+                     , Reg ( Ident (Identifier "end") , Literal (Int 10) )+                     , Reg ( Ident (Identifier "text") , Literal (String "Day") )+                     , Reg ( Ident (Identifier "captures") , Array [] )+                     ])+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/compiler/string-13.typ"+    ( line 17 , column 2 )+    (LetFunc+       (Identifier "timesum")+       [ NormalParam (Identifier "text") ]+       (Block+          (CodeBlock+             [ Let (BasicBind (Just (Identifier "time"))) (Literal (Int 0))+             , For+                 (BasicBind (Just (Identifier "match")))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "matches")) (Ident (Identifier "text")))+                    [ NormalArg+                        (FuncCall+                           (Ident (Identifier "regex"))+                           [ NormalArg (Literal (String "(\\d+):(\\d+)")) ])+                    ])+                 (Block+                    (CodeBlock+                       [ Let+                           (BasicBind (Just (Identifier "caps")))+                           (FieldAccess+                              (Ident (Identifier "captures")) (Ident (Identifier "match")))+                       , Assign+                           (Ident (Identifier "time"))+                           (Plus+                              (Ident (Identifier "time"))+                              (Plus+                                 (Times+                                    (Literal (Int 60))+                                    (FuncCall+                                       (Ident (Identifier "int"))+                                       [ NormalArg+                                           (FuncCall+                                              (FieldAccess+                                                 (Ident (Identifier "at"))+                                                 (Ident (Identifier "caps")))+                                              [ NormalArg (Literal (Int 0)) ])+                                       ]))+                                 (FuncCall+                                    (Ident (Identifier "int"))+                                    [ NormalArg+                                        (FuncCall+                                           (FieldAccess+                                              (Ident (Identifier "at")) (Ident (Identifier "caps")))+                                           [ NormalArg (Literal (Int 1)) ])+                                    ])))+                       ]))+             , Plus+                 (Plus+                    (FuncCall+                       (Ident (Identifier "str"))+                       [ NormalArg+                           (FuncCall+                              (Ident (Identifier "int"))+                              [ NormalArg+                                  (Divided (Ident (Identifier "time")) (Literal (Int 60)))+                              ])+                       ])+                    (Literal (String ":")))+                 (FuncCall+                    (Ident (Identifier "str"))+                    [ NormalArg+                        (FuncCall+                           (FieldAccess+                              (Ident (Identifier "rem")) (Ident (Identifier "calc")))+                           [ NormalArg (Ident (Identifier "time"))+                           , NormalArg (Literal (Int 60))+                           ])+                    ])+             ])))+, ParBreak+, Code+    "typ/compiler/string-13.typ"+    ( line 26 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "timesum")) [ NormalArg (Literal (String "")) ])+       , NormalArg (Literal (String "0:0"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-13.typ"+    ( line 27 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "timesum"))+              [ NormalArg (Literal (String "2:70")) ])+       , NormalArg (Literal (String "3:10"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-13.typ"+    ( line 28 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "timesum"))+              [ NormalArg (Literal (String "1:20, 2:10, 0:40")) ])+       , NormalArg (Literal (String "4:10"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-14.out view
@@ -0,0 +1,198 @@+--- parse tree ---+[ Code+    "typ/compiler/string-14.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-14.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-14.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-14.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "ABC")))+              [ NormalArg (Literal (String ""))+              , NormalArg (Literal (String "-"))+              ])+       , NormalArg (Literal (String "-A-B-C-"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-14.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "Ok")))+              [ NormalArg (Literal (String "Ok"))+              , NormalArg (Literal (String "Nope"))+              , KeyValArg (Identifier "count") (Literal (Int 0))+              ])+       , NormalArg (Literal (String "Ok"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-14.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "to add?")))+              [ NormalArg (Literal (String ""))+              , NormalArg (Literal (String "How "))+              , KeyValArg (Identifier "count") (Literal (Int 1))+              ])+       , NormalArg (Literal (String "How to add?"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-14.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "AB C DEF GH J")))+              [ NormalArg (Literal (String " "))+              , NormalArg (Literal (String ","))+              , KeyValArg (Identifier "count") (Literal (Int 2))+              ])+       , NormalArg (Literal (String "AB,C,DEF GH J"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-14.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace"))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "replace"))+                       (FuncCall+                          (FieldAccess+                             (Ident (Identifier "replace"))+                             (FuncCall+                                (FieldAccess+                                   (Ident (Identifier "replace")) (Literal (String "Walcemo")))+                                [ NormalArg (Literal (String "o"))+                                , NormalArg (Literal (String "k"))+                                ]))+                          [ NormalArg (Literal (String "e"))+                          , NormalArg (Literal (String "o"))+                          ]))+                    [ NormalArg (Literal (String "k"))+                    , NormalArg (Literal (String "e"))+                    ]))+              [ NormalArg (Literal (String "a"))+              , NormalArg (Literal (String "e"))+              ])+       , NormalArg (Literal (String "Welcome"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-14.typ"+    ( line 14 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "123")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d$")) ])+              , NormalArg (Literal (String "_"))+              ])+       , NormalArg (Literal (String "12_"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-14.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "123")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d{1,2}$")) ])+              , NormalArg (Literal (String "__"))+              ])+       , NormalArg (Literal (String "1__"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-15.out view
@@ -0,0 +1,476 @@+--- parse tree ---+[ Code+    "typ/compiler/string-15.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-15.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-15.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "abc")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "[a-z]")) ])+              , NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "m") ]+                     (Block+                        (CodeBlock+                           [ Plus+                               (Plus+                                  (FuncCall+                                     (Ident (Identifier "str"))+                                     [ NormalArg+                                         (FieldAccess+                                            (Ident (Identifier "start")) (Ident (Identifier "m")))+                                     ])+                                  (FieldAccess+                                     (Ident (Identifier "text")) (Ident (Identifier "m"))))+                               (FuncCall+                                  (Ident (Identifier "str"))+                                  [ NormalArg+                                      (FieldAccess+                                         (Ident (Identifier "end")) (Ident (Identifier "m")))+                                  ])+                           ])))+              ])+       , NormalArg (Literal (String "0a11b22c3"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "abcd, efgh")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\w+")) ])+              , NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "m") ]+                     (Block+                        (CodeBlock+                           [ FuncCall+                               (Ident (Identifier "upper"))+                               [ NormalArg+                                   (FieldAccess+                                      (Ident (Identifier "text")) (Ident (Identifier "m")))+                               ]+                           ])))+              ])+       , NormalArg (Literal (String "ABCD, EFGH"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "hello : world")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "^(.+)\\s*(:)\\s*(.+)$")) ])+              , NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "m") ]+                     (Block+                        (CodeBlock+                           [ Plus+                               (Plus+                                  (Plus+                                     (FuncCall+                                        (Ident (Identifier "upper"))+                                        [ NormalArg+                                            (FuncCall+                                               (FieldAccess+                                                  (Ident (Identifier "at"))+                                                  (FieldAccess+                                                     (Ident (Identifier "captures"))+                                                     (Ident (Identifier "m"))))+                                               [ NormalArg (Literal (Int 0)) ])+                                        ])+                                     (FuncCall+                                        (FieldAccess+                                           (Ident (Identifier "at"))+                                           (FieldAccess+                                              (Ident (Identifier "captures"))+                                              (Ident (Identifier "m"))))+                                        [ NormalArg (Literal (Int 1)) ]))+                                  (Literal (String " ")))+                               (FuncCall+                                  (Ident (Identifier "upper"))+                                  [ NormalArg+                                      (FuncCall+                                         (FieldAccess+                                            (Ident (Identifier "at"))+                                            (FieldAccess+                                               (Ident (Identifier "captures"))+                                               (Ident (Identifier "m"))))+                                         [ NormalArg (Literal (Int 2)) ])+                                  ])+                           ])))+              ])+       , NormalArg (Literal (String "HELLO : WORLD"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace"))+                 (Literal (String "hello world, lorem ipsum")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "(\\w+) (\\w+)")) ])+              , NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "m") ]+                     (Block+                        (CodeBlock+                           [ Plus+                               (Plus+                                  (FuncCall+                                     (FieldAccess+                                        (Ident (Identifier "at"))+                                        (FieldAccess+                                           (Ident (Identifier "captures"))+                                           (Ident (Identifier "m"))))+                                     [ NormalArg (Literal (Int 1)) ])+                                  (Literal (String " ")))+                               (FuncCall+                                  (FieldAccess+                                     (Ident (Identifier "at"))+                                     (FieldAccess+                                        (Ident (Identifier "captures")) (Ident (Identifier "m"))))+                                  [ NormalArg (Literal (Int 0)) ])+                           ])))+              ])+       , NormalArg (Literal (String "world hello, ipsum lorem"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace"))+                 (Literal (String "hello world, lorem ipsum")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "(\\w+) (\\w+)")) ])+              , KeyValArg (Identifier "count") (Literal (Int 1))+              , NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "m") ]+                     (Block+                        (CodeBlock+                           [ Plus+                               (Plus+                                  (FuncCall+                                     (FieldAccess+                                        (Ident (Identifier "at"))+                                        (FieldAccess+                                           (Ident (Identifier "captures"))+                                           (Ident (Identifier "m"))))+                                     [ NormalArg (Literal (Int 1)) ])+                                  (Literal (String " ")))+                               (FuncCall+                                  (FieldAccess+                                     (Ident (Identifier "at"))+                                     (FieldAccess+                                        (Ident (Identifier "captures")) (Ident (Identifier "m"))))+                                  [ NormalArg (Literal (Int 0)) ])+                           ])))+              ])+       , NormalArg (Literal (String "world hello, lorem ipsum"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 19 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "123 456")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "[a-z]+")) ])+              , NormalArg (Literal (String "a"))+              ])+       , NormalArg (Literal (String "123 456"))+       ])+, ParBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 21 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "abc")))+              [ NormalArg (Literal (String ""))+              , NormalArg+                  (FuncExpr [ NormalParam (Identifier "m") ] (Literal (String "-")))+              ])+       , NormalArg (Literal (String "-a-b-c-"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 22 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "abc")))+              [ NormalArg (Literal (String ""))+              , NormalArg+                  (FuncExpr [ NormalParam (Identifier "m") ] (Literal (String "-")))+              , KeyValArg (Identifier "count") (Literal (Int 1))+              ])+       , NormalArg (Literal (String "-abc"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 23 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "123")))+              [ NormalArg (Literal (String "abc"))+              , NormalArg+                  (FuncExpr [ NormalParam (Identifier "m") ] (Literal (String "")))+              ])+       , NormalArg (Literal (String "123"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 24 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "123")))+              [ NormalArg (Literal (String "abc"))+              , NormalArg+                  (FuncExpr [ NormalParam (Identifier "m") ] (Literal (String "")))+              , KeyValArg (Identifier "count") (Literal (Int 2))+              ])+       , NormalArg (Literal (String "123"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 25 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "a123b123c")))+              [ NormalArg (Literal (String "123"))+              , NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "m") ]+                     (Block+                        (CodeBlock+                           [ Plus+                               (Plus+                                  (FuncCall+                                     (Ident (Identifier "str"))+                                     [ NormalArg+                                         (FieldAccess+                                            (Ident (Identifier "start")) (Ident (Identifier "m")))+                                     ])+                                  (Literal (String "-")))+                               (FuncCall+                                  (Ident (Identifier "str"))+                                  [ NormalArg+                                      (FieldAccess+                                         (Ident (Identifier "end")) (Ident (Identifier "m")))+                                  ])+                           ])))+              ])+       , NormalArg (Literal (String "a1-4b5-8c"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 28 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "halla warld")))+              [ NormalArg (Literal (String "a"))+              , NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "m") ]+                     (Block+                        (CodeBlock+                           [ If+                               [ ( Equals+                                     (FieldAccess+                                        (Ident (Identifier "start")) (Ident (Identifier "m")))+                                     (Literal (Int 1))+                                 , Block (CodeBlock [ Literal (String "e") ])+                                 )+                               , ( Or+                                     (Equals+                                        (FieldAccess+                                           (Ident (Identifier "start")) (Ident (Identifier "m")))+                                        (Literal (Int 4)))+                                     (Equals+                                        (FieldAccess+                                           (Ident (Identifier "start")) (Ident (Identifier "m")))+                                        (Literal (Int 7)))+                                 , Block (CodeBlock [ Literal (String "o") ])+                                 )+                               ]+                           ])))+              ])+       , NormalArg (Literal (String "hello world"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-15.typ"+    ( line 32 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "replace")) (Literal (String "aaa")))+              [ NormalArg (Literal (String "a"))+              , NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "m") ]+                     (FuncCall+                        (Ident (Identifier "str"))+                        [ NormalArg+                            (FuncCall+                               (FieldAccess+                                  (Ident (Identifier "len"))+                                  (FieldAccess+                                     (Ident (Identifier "captures")) (Ident (Identifier "m"))))+                               [])+                        ]))+              ])+       , NormalArg (Literal (String "000"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-16.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/string-17.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/string-18.out view
@@ -0,0 +1,420 @@+--- parse tree ---+[ Code+    "typ/compiler/string-18.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-18.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-18.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-18.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "str")))+       (Literal (String "Typst, LaTeX, Word, InDesign")))+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "array")))+       (Array+          [ Reg (Literal (String "Typst"))+          , Reg (Literal (String "LaTeX"))+          , Reg (Literal (String "Word"))+          , Reg (Literal (String "InDesign"))+          ]))+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "map"))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "split")) (Ident (Identifier "str")))+                    [ NormalArg (Literal (String ",")) ]))+              [ NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "s") ]+                     (FuncCall+                        (FieldAccess (Ident (Identifier "trim")) (Ident (Identifier "s")))+                        []))+              ])+       , NormalArg (Ident (Identifier "array"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "trim")) (Literal (String ""))) [])+       , NormalArg (Literal (String ""))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String " abc ")))+              [ KeyValArg (Identifier "at") (Ident (Identifier "start")) ])+       , NormalArg (Literal (String "abc "))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String " abc ")))+              [ KeyValArg (Identifier "at") (Ident (Identifier "end"))+              , KeyValArg (Identifier "repeat") (Literal (Boolean True))+              ])+       , NormalArg (Literal (String " abc"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "  abc")))+              [ KeyValArg (Identifier "at") (Ident (Identifier "start"))+              , KeyValArg (Identifier "repeat") (Literal (Boolean False))+              ])+       , NormalArg (Literal (String "abc"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "aabcaa")))+              [ NormalArg (Literal (String "a"))+              , KeyValArg (Identifier "repeat") (Literal (Boolean False))+              ])+       , NormalArg (Literal (String "abca"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "aabca")))+              [ NormalArg (Literal (String "a"))+              , KeyValArg (Identifier "at") (Ident (Identifier "start"))+              ])+       , NormalArg (Literal (String "bca"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "aabcaa")))+              [ NormalArg (Literal (String "a"))+              , KeyValArg (Identifier "at") (Ident (Identifier "end"))+              , KeyValArg (Identifier "repeat") (Literal (Boolean False))+              ])+       , NormalArg (Literal (String "aabca"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "trim")) (Literal (String "")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex")) [ NormalArg (Literal (String ".")) ])+              ])+       , NormalArg (Literal (String ""))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 14 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "123abc456")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d")) ])+              ])+       , NormalArg (Literal (String "abc"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "123abc456")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d")) ])+              , KeyValArg (Identifier "repeat") (Literal (Boolean False))+              ])+       , NormalArg (Literal (String "23abc45"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "123a4b5c678")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d")) ])+              , KeyValArg (Identifier "repeat") (Literal (Boolean True))+              ])+       , NormalArg (Literal (String "a4b5c"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "123a4b5c678")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d")) ])+              , KeyValArg (Identifier "repeat") (Literal (Boolean False))+              ])+       , NormalArg (Literal (String "23a4b5c67"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 18 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "123abc456")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d")) ])+              , KeyValArg (Identifier "at") (Ident (Identifier "start"))+              ])+       , NormalArg (Literal (String "abc456"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 19 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "123abc456")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d")) ])+              , KeyValArg (Identifier "at") (Ident (Identifier "end"))+              ])+       , NormalArg (Literal (String "123abc"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 20 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "123abc456")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d+")) ])+              , KeyValArg (Identifier "at") (Ident (Identifier "end"))+              , KeyValArg (Identifier "repeat") (Literal (Boolean False))+              ])+       , NormalArg (Literal (String "123abc"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 21 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "123abc456")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d{1,2}$")) ])+              , KeyValArg (Identifier "repeat") (Literal (Boolean False))+              ])+       , NormalArg (Literal (String "123abc4"))+       ])+, SoftBreak+, Code+    "typ/compiler/string-18.typ"+    ( line 22 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "trim")) (Literal (String "hello world")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex")) [ NormalArg (Literal (String ".")) ])+              ])+       , NormalArg (Literal (String ""))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-19.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/string-20.out view
@@ -0,0 +1,130 @@+--- parse tree ---+[ Code+    "typ/compiler/string-20.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/string-20.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/string-20.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/string-20.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "split")) (Literal (String "abc")))+              [ NormalArg (Literal (String "")) ])+       , NormalArg+           (Array+              [ Reg (Literal (String ""))+              , Reg (Literal (String "a"))+              , Reg (Literal (String "b"))+              , Reg (Literal (String "c"))+              , Reg (Literal (String ""))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/string-20.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess (Ident (Identifier "split")) (Literal (String "abc")))+              [ NormalArg (Literal (String "b")) ])+       , NormalArg+           (Array [ Reg (Literal (String "a")) , Reg (Literal (String "c")) ])+       ])+, SoftBreak+, Code+    "typ/compiler/string-20.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "split")) (Literal (String "a123c")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d")) ])+              ])+       , NormalArg+           (Array+              [ Reg (Literal (String "a"))+              , Reg (Literal (String ""))+              , Reg (Literal (String ""))+              , Reg (Literal (String "c"))+              ])+       ])+, SoftBreak+, Code+    "typ/compiler/string-20.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "split")) (Literal (String "a123c")))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "regex"))+                     [ NormalArg (Literal (String "\\d+")) ])+              ])+       , NormalArg+           (Array [ Reg (Literal (String "a")) , Reg (Literal (String "c")) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/string-21.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/while-00.out view
@@ -0,0 +1,136 @@+--- parse tree ---+[ Code+    "typ/compiler/while-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/while-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/while-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compiler/while-00.typ"+    ( line 3 , column 2 )+    (Let (BasicBind (Just (Identifier "i"))) (Literal (Int 0)))+, SoftBreak+, Code+    "typ/compiler/while-00.typ"+    ( line 4 , column 2 )+    (While+       (LessThan (Ident (Identifier "i")) (Literal (Int 10)))+       (Block+          (Content+             [ SoftBreak+             , Code+                 "typ/compiler/while-00.typ"+                 ( line 5 , column 4 )+                 (Assign+                    (Ident (Identifier "i"))+                    (Plus (Ident (Identifier "i")) (Literal (Int 2))))+             , SoftBreak+             , Code+                 "typ/compiler/while-00.typ"+                 ( line 6 , column 4 )+                 (Ident (Identifier "i"))+             , ParBreak+             ])))+, ParBreak+, Comment+, Code+    "typ/compiler/while-00.typ"+    ( line 10 , column 2 )+    (Let+       (BasicBind (Just (Identifier "iter"))) (Literal (Boolean True)))+, SoftBreak+, Code+    "typ/compiler/while-00.typ"+    ( line 11 , column 2 )+    (While+       (Ident (Identifier "iter"))+       (Block+          (CodeBlock+             [ Assign (Ident (Identifier "iter")) (Literal (Boolean False))+             , Literal (String "Hi.")+             ])))+, ParBreak+, Code+    "typ/compiler/while-00.typ"+    ( line 16 , column 2 )+    (While+       (Literal (Boolean False))+       (Block (CodeBlock [ Ident (Identifier "dont-care") ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [2]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [4]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [6]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [8]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [10]), +                 parbreak(), +                 parbreak(), +                 text(body: [+]), +                 text(body: [Hi.]), +                 parbreak(), +                 parbreak() })
+ test/typ/compiler/while-01.out view
@@ -0,0 +1,95 @@+--- parse tree ---+[ Code+    "typ/compiler/while-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compiler/while-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compiler/while-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, SoftBreak+, Code+    "typ/compiler/while-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (While (Literal (Boolean False)) (Block (CodeBlock [])))+       , NormalArg (Literal None)+       ])+, ParBreak+, Code+    "typ/compiler/while-01.typ"+    ( line 7 , column 2 )+    (Let (BasicBind (Just (Identifier "i"))) (Literal (Int 0)))+, SoftBreak+, Code+    "typ/compiler/while-01.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg+                  (While+                     (LessThan (Ident (Identifier "i")) (Literal (Int 1)))+                     (Block+                        (Content+                           [ Code+                               "typ/compiler/while-01.typ"+                               ( line 8 , column 26 )+                               (Assign+                                  (Ident (Identifier "i"))+                                  (Plus (Ident (Identifier "i")) (Literal (Int 1))))+                           ])))+              ])+       , NormalArg (Literal (String "content"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compiler/while-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/while-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/while-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compiler/while-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-00.out view
@@ -0,0 +1,181 @@+--- parse tree ---+[ Code+    "typ/compute/calc-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "int")) [ NormalArg (Literal (Boolean False)) ])+       , NormalArg (Literal (Int 0))+       ])+, SoftBreak+, Code+    "typ/compute/calc-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "int")) [ NormalArg (Literal (Boolean True)) ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compute/calc-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "int")) [ NormalArg (Literal (Int 10)) ])+       , NormalArg (Literal (Int 10))+       ])+, SoftBreak+, Code+    "typ/compute/calc-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "int")) [ NormalArg (Literal (String "150")) ])+       , NormalArg (Literal (Int 150))+       ])+, SoftBreak+, Code+    "typ/compute/calc-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "int"))+              [ NormalArg (Divided (Literal (Int 10)) (Literal (Int 3))) ])+       , NormalArg (Literal (Int 3))+       ])+, SoftBreak+, Code+    "typ/compute/calc-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "float")) [ NormalArg (Literal (Int 10)) ])+       , NormalArg (Literal (Float 10.0))+       ])+, SoftBreak+, Code+    "typ/compute/calc-00.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "float"))+              [ NormalArg+                  (Times+                     (Literal (Numeric 50.0 Percent)) (Literal (Numeric 30.0 Percent)))+              ])+       , NormalArg (Literal (Float 0.15))+       ])+, SoftBreak+, Code+    "typ/compute/calc-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "float"))+              [ NormalArg (Literal (String "31.4e-1")) ])+       , NormalArg (Literal (Float 3.14))+       ])+, SoftBreak+, Code+    "typ/compute/calc-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "float")) [ NormalArg (Literal (Int 10)) ])+              ])+       , NormalArg (Literal (String "float"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-01.out view
@@ -0,0 +1,82 @@+--- parse tree ---+[ Code+    "typ/compute/calc-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compute/calc-01.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "round")) (Ident (Identifier "calc")))+              [ NormalArg+                  (FieldAccess (Ident (Identifier "e")) (Ident (Identifier "calc")))+              , KeyValArg (Identifier "digits") (Literal (Int 2))+              ])+       , NormalArg (Literal (Float 2.72))+       ])+, SoftBreak+, Code+    "typ/compute/calc-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "round")) (Ident (Identifier "calc")))+              [ NormalArg+                  (FieldAccess (Ident (Identifier "pi")) (Ident (Identifier "calc")))+              , KeyValArg (Identifier "digits") (Literal (Int 2))+              ])+       , NormalArg (Literal (Float 3.14))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-06.out view
@@ -0,0 +1,157 @@+--- parse tree ---+[ Code+    "typ/compute/calc-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-06.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))+              [ NormalArg (Negated (Literal (Int 3))) ])+       , NormalArg (Literal (Int 3))+       ])+, SoftBreak+, Code+    "typ/compute/calc-06.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 3)) ])+       , NormalArg (Literal (Int 3))+       ])+, SoftBreak+, Code+    "typ/compute/calc-06.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))+              [ NormalArg (Negated (Literal (Float 0.0))) ])+       , NormalArg (Literal (Float 0.0))+       ])+, SoftBreak+, Code+    "typ/compute/calc-06.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Float 0.0)) ])+       , NormalArg (Negated (Literal (Float 0.0)))+       ])+, SoftBreak+, Code+    "typ/compute/calc-06.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))+              [ NormalArg (Negated (Literal (Float 3.14))) ])+       , NormalArg (Literal (Float 3.14))+       ])+, SoftBreak+, Code+    "typ/compute/calc-06.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Numeric 50.0 Percent)) ])+       , NormalArg (Literal (Numeric 50.0 Percent))+       ])+, SoftBreak+, Code+    "typ/compute/calc-06.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "abs")) (Ident (Identifier "calc")))+              [ NormalArg (Negated (Literal (Numeric 25.0 Percent))) ])+       , NormalArg (Literal (Numeric 25.0 Percent))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-08.out view
@@ -0,0 +1,109 @@+--- parse tree ---+[ Code+    "typ/compute/calc-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-08.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "even")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 2)) ])+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compute/calc-08.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "odd")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 2)) ])+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compute/calc-08.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "odd")) (Ident (Identifier "calc")))+              [ NormalArg (Negated (Literal (Int 1))) ])+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compute/calc-08.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "even")) (Ident (Identifier "calc")))+              [ NormalArg (Negated (Literal (Int 11))) ])+       , NormalArg (Literal (Boolean False))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-09.out view
@@ -0,0 +1,133 @@+--- parse tree ---+[ Code+    "typ/compute/calc-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-09.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "rem")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (Int 0))+       ])+, SoftBreak+, Code+    "typ/compute/calc-09.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "rem")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 3)) ])+       , NormalArg (Literal (Int 2))+       ])+, SoftBreak+, Code+    "typ/compute/calc-09.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "rem")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5))+              , NormalArg (Negated (Literal (Int 3)))+              ])+       , NormalArg (Literal (Int 2))+       ])+, SoftBreak+, Code+    "typ/compute/calc-09.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "rem")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Float 22.5))+              , NormalArg (Literal (Int 10))+              ])+       , NormalArg (Literal (Float 2.5))+       ])+, SoftBreak+, Code+    "typ/compute/calc-09.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "rem")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 9)) , NormalArg (Literal (Float 4.5)) ])+       , NormalArg (Literal (Int 0))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: [1]), +                 text(body: [ /= ]), +                 text(body: [0]), +                 text(body: [)]), +                 parbreak() })
+ test/typ/compute/calc-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-11.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-12.out view
@@ -0,0 +1,129 @@+--- parse tree ---+[ Code+    "typ/compute/calc-12.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-12.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-12.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-12.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "quo")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compute/calc-12.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "quo")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 3)) ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compute/calc-12.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "quo")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5))+              , NormalArg (Negated (Literal (Int 3)))+              ])+       , NormalArg (Negated (Literal (Int 1)))+       ])+, SoftBreak+, Code+    "typ/compute/calc-12.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "quo")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Float 22.5))+              , NormalArg (Literal (Int 10))+              ])+       , NormalArg (Literal (Int 2))+       ])+, SoftBreak+, Code+    "typ/compute/calc-12.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "quo")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 9)) , NormalArg (Literal (Float 4.5)) ])+       , NormalArg (Literal (Int 2))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-13.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-14.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-15.out view
@@ -0,0 +1,117 @@+--- parse tree ---+[ Code+    "typ/compute/calc-15.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-15.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-15.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-15.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "min")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 2))+              , NormalArg (Negated (Literal (Int 4)))+              ])+       , NormalArg (Negated (Literal (Int 4)))+       ])+, SoftBreak+, Code+    "typ/compute/calc-15.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "min")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Float 3.5))+              , NormalArg (Literal (Float 100.0))+              , NormalArg (Negated (Literal (Float 0.1)))+              , NormalArg (Literal (Int 3))+              ])+       , NormalArg (Negated (Literal (Float 0.1)))+       ])+, SoftBreak+, Code+    "typ/compute/calc-15.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "max")) (Ident (Identifier "calc")))+              [ NormalArg (Negated (Literal (Int 3)))+              , NormalArg (Literal (Int 11))+              ])+       , NormalArg (Literal (Int 11))+       ])+, SoftBreak+, Code+    "typ/compute/calc-15.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "min")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (String "hi")) ])+       , NormalArg (Literal (String "hi"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-16.out view
@@ -0,0 +1,77 @@+--- parse tree ---+[ Code+    "typ/compute/calc-16.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-16.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-16.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-16.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "pow")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 10)) , NormalArg (Literal (Int 0)) ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compute/calc-16.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "pow")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 2)) , NormalArg (Literal (Int 4)) ])+       , NormalArg (Literal (Int 16))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-17.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-18.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-19.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-20.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-21.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-22.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-23.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-24.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-25.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-26.out view
@@ -0,0 +1,77 @@+--- parse tree ---+[ Code+    "typ/compute/calc-26.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-26.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-26.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-26.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "fact")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 0)) ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compute/calc-26.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "fact")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5)) ])+       , NormalArg (Literal (Int 120))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-27.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-28.out view
@@ -0,0 +1,109 @@+--- parse tree ---+[ Code+    "typ/compute/calc-28.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-28.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-28.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-28.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "perm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 0)) ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compute/calc-28.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "perm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 3)) ])+       , NormalArg (Literal (Int 60))+       ])+, SoftBreak+, Code+    "typ/compute/calc-28.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "perm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 5)) ])+       , NormalArg (Literal (Int 120))+       ])+, SoftBreak+, Code+    "typ/compute/calc-28.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "perm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 6)) ])+       , NormalArg (Literal (Int 0))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-29.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-30.out view
@@ -0,0 +1,125 @@+--- parse tree ---+[ Code+    "typ/compute/calc-30.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-30.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-30.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-30.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "binom")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 0)) ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compute/calc-30.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "binom")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 3)) ])+       , NormalArg (Literal (Int 10))+       ])+, SoftBreak+, Code+    "typ/compute/calc-30.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "binom")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 5)) ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compute/calc-30.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "binom")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 5)) , NormalArg (Literal (Int 6)) ])+       , NormalArg (Literal (Int 0))+       ])+, SoftBreak+, Code+    "typ/compute/calc-30.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "binom")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 6)) , NormalArg (Literal (Int 2)) ])+       , NormalArg (Literal (Int 15))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-31.out view
@@ -0,0 +1,161 @@+--- parse tree ---+[ Code+    "typ/compute/calc-31.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-31.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-31.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-31.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 112)) , NormalArg (Literal (Int 77)) ])+       , NormalArg (Literal (Int 7))+       ])+, SoftBreak+, Code+    "typ/compute/calc-31.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 12)) , NormalArg (Literal (Int 96)) ])+       , NormalArg (Literal (Int 12))+       ])+, SoftBreak+, Code+    "typ/compute/calc-31.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 13)) , NormalArg (Literal (Int 9)) ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compute/calc-31.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 13))+              , NormalArg (Negated (Literal (Int 9)))+              ])+       , NormalArg (Literal (Int 1))+       ])+, SoftBreak+, Code+    "typ/compute/calc-31.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 272557))+              , NormalArg (Literal (Int 272557))+              ])+       , NormalArg (Literal (Int 272557))+       ])+, SoftBreak+, Code+    "typ/compute/calc-31.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 0)) ])+       , NormalArg (Literal (Int 0))+       ])+, SoftBreak+, Code+    "typ/compute/calc-31.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "gcd")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 7)) , NormalArg (Literal (Int 0)) ])+       , NormalArg (Literal (Int 7))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-32.out view
@@ -0,0 +1,161 @@+--- parse tree ---+[ Code+    "typ/compute/calc-32.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-32.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-32.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-32.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 112)) , NormalArg (Literal (Int 77)) ])+       , NormalArg (Literal (Int 1232))+       ])+, SoftBreak+, Code+    "typ/compute/calc-32.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 12)) , NormalArg (Literal (Int 96)) ])+       , NormalArg (Literal (Int 96))+       ])+, SoftBreak+, Code+    "typ/compute/calc-32.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 13)) , NormalArg (Literal (Int 9)) ])+       , NormalArg (Literal (Int 117))+       ])+, SoftBreak+, Code+    "typ/compute/calc-32.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 13))+              , NormalArg (Negated (Literal (Int 9)))+              ])+       , NormalArg (Literal (Int 117))+       ])+, SoftBreak+, Code+    "typ/compute/calc-32.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 272557))+              , NormalArg (Literal (Int 272557))+              ])+       , NormalArg (Literal (Int 272557))+       ])+, SoftBreak+, Code+    "typ/compute/calc-32.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 0)) ])+       , NormalArg (Literal (Int 0))+       ])+, SoftBreak+, Code+    "typ/compute/calc-32.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "lcm")) (Ident (Identifier "calc")))+              [ NormalArg (Literal (Int 8)) , NormalArg (Literal (Int 0)) ])+       , NormalArg (Literal (Int 0))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-33.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-34.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-35.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-36.out view
@@ -0,0 +1,242 @@+--- parse tree ---+[ Code+    "typ/compute/calc-36.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/calc-36.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/calc-36.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/calc-36.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "range")) [ NormalArg (Literal (Int 4)) ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 0))+              , Reg (Literal (Int 1))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/calc-36.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "range"))+              [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 4)) ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 1))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/calc-36.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "range"))+              [ NormalArg (Negated (Literal (Int 4)))+              , NormalArg (Literal (Int 2))+              ])+       , NormalArg+           (Array+              [ Reg (Negated (Literal (Int 4)))+              , Reg (Negated (Literal (Int 3)))+              , Reg (Negated (Literal (Int 2)))+              , Reg (Negated (Literal (Int 1)))+              , Reg (Literal (Int 0))+              , Reg (Literal (Int 1))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/calc-36.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "range"))+              [ NormalArg (Literal (Int 10)) , NormalArg (Literal (Int 5)) ])+       , NormalArg (Array [])+       ])+, SoftBreak+, Code+    "typ/compute/calc-36.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "range"))+              [ NormalArg (Literal (Int 10))+              , KeyValArg (Identifier "step") (Literal (Int 3))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 0))+              , Reg (Literal (Int 3))+              , Reg (Literal (Int 6))+              , Reg (Literal (Int 9))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/calc-36.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "range"))+              [ NormalArg (Literal (Int 1))+              , NormalArg (Literal (Int 4))+              , KeyValArg (Identifier "step") (Literal (Int 1))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 1))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/calc-36.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "range"))+              [ NormalArg (Literal (Int 1))+              , NormalArg (Literal (Int 8))+              , KeyValArg (Identifier "step") (Literal (Int 2))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 1))+              , Reg (Literal (Int 3))+              , Reg (Literal (Int 5))+              , Reg (Literal (Int 7))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/calc-36.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "range"))+              [ NormalArg (Literal (Int 5))+              , NormalArg (Literal (Int 2))+              , KeyValArg (Identifier "step") (Negated (Literal (Int 1)))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 5))+              , Reg (Literal (Int 4))+              , Reg (Literal (Int 3))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/calc-36.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "range"))+              [ NormalArg (Literal (Int 10))+              , NormalArg (Literal (Int 0))+              , KeyValArg (Identifier "step") (Negated (Literal (Int 3)))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Int 10))+              , Reg (Literal (Int 7))+              , Reg (Literal (Int 4))+              , Reg (Literal (Int 1))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/calc-37.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-38.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-39.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/calc-40.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/construct-00.out view
@@ -0,0 +1,193 @@+--- parse tree ---+[ Code+    "typ/compute/construct-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/construct-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/construct-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/construct-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (Numeric 0.0 Percent))+              , NormalArg (Literal (Numeric 30.0 Percent))+              , NormalArg (Literal (Numeric 70.0 Percent))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (String "004db3")) ])+       ])+, ParBreak+, Comment+, Code+    "typ/compute/construct-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (Int 255))+              , NormalArg (Literal (Int 0))+              , NormalArg (Literal (Int 0))+              , NormalArg (Literal (Numeric 50.0 Percent))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (String "ff000080")) ])+       ])+, ParBreak+, Comment+, Code+    "typ/compute/construct-00.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "lighten"))+                 (FuncCall+                    (Ident (Identifier "rgb"))+                    [ NormalArg (Literal (Int 25))+                    , NormalArg (Literal (Int 35))+                    , NormalArg (Literal (Int 45))+                    ]))+              [ NormalArg (Literal (Numeric 10.0 Percent)) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (Int 48))+              , NormalArg (Literal (Int 57))+              , NormalArg (Literal (Int 66))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/construct-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "darken"))+                 (FuncCall+                    (Ident (Identifier "rgb"))+                    [ NormalArg (Literal (Int 40))+                    , NormalArg (Literal (Int 30))+                    , NormalArg (Literal (Int 20))+                    ]))+              [ NormalArg (Literal (Numeric 10.0 Percent)) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (Int 36))+              , NormalArg (Literal (Int 27))+              , NormalArg (Literal (Int 18))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/construct-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "negate"))+                 (FuncCall+                    (Ident (Identifier "rgb"))+                    [ NormalArg (Literal (String "#133337")) ]))+              [])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (Int 236))+              , NormalArg (Literal (Int 204))+              , NormalArg (Literal (Int 200))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/construct-00.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "lighten")) (Ident (Identifier "white")))+              [ NormalArg (Literal (Numeric 100.0 Percent)) ])+       , NormalArg (Ident (Identifier "white"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [❌(]), +                 text(body: [rgb(0%,30%,70%,100%)]), +                 text(body: [ /= ]), +                 text(body: [rgb(0%,30%,70%,100%)]), +                 text(body: [)]), +                 parbreak(), +                 text(body: [❌(]), +                 text(body: [rgb(100%,0%,0%,50%)]), +                 text(body: [ /= ]), +                 text(body: [rgb(100%,0%,0%,50%)]), +                 text(body: [)]), +                 parbreak(), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/construct-01.out view
@@ -0,0 +1,76 @@+--- parse tree ---+[ Code+    "typ/compute/construct-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/construct-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/construct-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compute/construct-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg+                  (Identifier "fill")+                  (FuncCall+                     (Ident (Identifier "luma")) [ NormalArg (Literal (Int 0)) ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg+                  (Identifier "fill")+                  (FuncCall+                     (Ident (Identifier "luma"))+                     [ NormalArg (Literal (Numeric 80.0 Percent)) ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 stack(children: (rect(fill: luma(0%)), +                                  rect(fill: luma(80%))), +                       dir: ltr), +                 parbreak() })
+ test/typ/compute/construct-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/construct-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/construct-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/construct-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/construct-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/construct-07.out view
@@ -0,0 +1,131 @@+--- parse tree ---+[ Code+    "typ/compute/construct-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/construct-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/construct-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/construct-07.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "envelope")))+       (FuncCall+          (Ident (Identifier "symbol"))+          [ NormalArg (Literal (String "\128386"))+          , NormalArg+              (Array+                 [ Reg (Literal (String "stamped"))+                 , Reg (Literal (String "\128387"))+                 ])+          , NormalArg+              (Array+                 [ Reg (Literal (String "stamped.pen"))+                 , Reg (Literal (String "\128390"))+                 ])+          , NormalArg+              (Array+                 [ Reg (Literal (String "lightning"))+                 , Reg (Literal (String "\128388"))+                 ])+          , NormalArg+              (Array+                 [ Reg (Literal (String "fly"))+                 , Reg (Literal (String "\128389"))+                 ])+          ]))+, ParBreak+, Code+    "typ/compute/construct-07.typ"+    ( line 11 , column 2 )+    (Ident (Identifier "envelope"))+, SoftBreak+, Code+    "typ/compute/construct-07.typ"+    ( line 12 , column 2 )+    (FieldAccess+       (Ident (Identifier "stamped")) (Ident (Identifier "envelope")))+, SoftBreak+, Code+    "typ/compute/construct-07.typ"+    ( line 13 , column 2 )+    (FieldAccess+       (Ident (Identifier "pen")) (Ident (Identifier "envelope")))+, SoftBreak+, Code+    "typ/compute/construct-07.typ"+    ( line 14 , column 2 )+    (FieldAccess+       (Ident (Identifier "pen"))+       (FieldAccess+          (Ident (Identifier "stamped")) (Ident (Identifier "envelope"))))+, SoftBreak+, Code+    "typ/compute/construct-07.typ"+    ( line 15 , column 2 )+    (FieldAccess+       (Ident (Identifier "lightning")) (Ident (Identifier "envelope")))+, SoftBreak+, Code+    "typ/compute/construct-07.typ"+    ( line 16 , column 2 )+    (FieldAccess+       (Ident (Identifier "fly")) (Ident (Identifier "envelope")))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [🖂]), +                 text(body: [+]), +                 text(body: [🖃]), +                 text(body: [+]), +                 text(body: [🖆]), +                 text(body: [+]), +                 text(body: [🖆]), +                 text(body: [+]), +                 text(body: [🖄]), +                 text(body: [+]), +                 text(body: [🖅]), +                 parbreak() })
+ test/typ/compute/construct-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/construct-09.out view
@@ -0,0 +1,94 @@+--- parse tree ---+[ Code+    "typ/compute/construct-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/construct-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/construct-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/construct-09.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "str")) [ NormalArg (Literal (Int 123)) ])+       , NormalArg (Literal (String "123"))+       ])+, SoftBreak+, Code+    "typ/compute/construct-09.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "str")) [ NormalArg (Literal (Float 50.14)) ])+       , NormalArg (Literal (String "50.14"))+       ])+, SoftBreak+, Code+    "typ/compute/construct-09.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (GreaterThan+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "len"))+                    (FuncCall+                       (Ident (Identifier "str"))+                       [ NormalArg (Divided (Literal (Int 10)) (Literal (Int 3))) ]))+                 [])+              (Literal (Int 10)))+       , NormalArg (Literal (Boolean True))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/construct-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/construct-11.out view
@@ -0,0 +1,63 @@+--- parse tree ---+[ Code+    "typ/compute/construct-11.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/construct-11.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/construct-11.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compute/construct-11.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "assert"))+       [ NormalArg+           (Equals+              (FuncCall+                 (Ident (Identifier "range"))+                 [ NormalArg (Literal (Int 2)) , NormalArg (Literal (Int 5)) ])+              (Array+                 [ Reg (Literal (Int 2))+                 , Reg (Literal (Int 3))+                 , Reg (Literal (Int 4))+                 ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak() })
+ test/typ/compute/data-00.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/compute/data-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/data-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/data-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/data-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "data")))+       (FuncCall+          (Ident (Identifier "read"))+          [ NormalArg (Literal (String "/assets/files/hello.txt")) ]))+, SoftBreak+, Code+    "typ/compute/data-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "data"))+       , NormalArg (Literal (String "Hello, world!"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/data-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/data-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/data-03.out view
@@ -0,0 +1,126 @@+--- parse tree ---+[ Code+    "typ/compute/data-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/data-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/data-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/compute/data-03.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto) ])+, SoftBreak+, Code+    "typ/compute/data-03.typ"+    ( line 5 , column 2 )+    (Let+       (BasicBind (Just (Identifier "data")))+       (FuncCall+          (Ident (Identifier "csv"))+          [ NormalArg (Literal (String "/assets/files/zoo.csv")) ]))+, SoftBreak+, Code+    "typ/compute/data-03.typ"+    ( line 6 , column 2 )+    (Let+       (BasicBind (Just (Identifier "cells")))+       (Plus+          (FuncCall+             (FieldAccess+                (Ident (Identifier "map"))+                (FuncCall+                   (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "data")))+                   [ NormalArg (Literal (Int 0)) ]))+             [ NormalArg (Ident (Identifier "strong")) ])+          (FuncCall+             (FieldAccess+                (Ident (Identifier "flatten"))+                (FuncCall+                   (FieldAccess+                      (Ident (Identifier "slice")) (Ident (Identifier "data")))+                   [ NormalArg (Literal (Int 1)) ]))+             [])))+, SoftBreak+, Code+    "typ/compute/data-03.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg+           (Identifier "columns")+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "len"))+                 (FuncCall+                    (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "data")))+                    [ NormalArg (Literal (Int 0)) ]))+              [])+       , SpreadArg (Ident (Identifier "cells"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 table(children: (strong(body: [Name]), +                                  strong(body: [Species]), +                                  strong(body: [Weight]), +                                  strong(body: [Length]), +                                  [Debby], +                                  [Rhinoceros], +                                  [1900kg], +                                  [390cm], +                                  [Fluffy], +                                  [Tiger], +                                  [115kg], +                                  [310cm], +                                  [Sleepy], +                                  [Dolphin], +                                  [150kg], +                                  [180cm]), +                       columns: 4), +                 parbreak() })
+ test/typ/compute/data-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/data-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/data-06.out view
@@ -0,0 +1,106 @@+--- parse tree ---+[ Code+    "typ/compute/data-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/data-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/data-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/data-06.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "data")))+       (FuncCall+          (Ident (Identifier "json"))+          [ NormalArg (Literal (String "/assets/files/zoo.json")) ]))+, SoftBreak+, Code+    "typ/compute/data-06.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "len")) (Ident (Identifier "data")))+              [])+       , NormalArg (Literal (Int 3))+       ])+, SoftBreak+, Code+    "typ/compute/data-06.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "name"))+              (FuncCall+                 (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "data")))+                 [ NormalArg (Literal (Int 0)) ]))+       , NormalArg (Literal (String "Debby"))+       ])+, SoftBreak+, Code+    "typ/compute/data-06.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "weight"))+              (FuncCall+                 (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "data")))+                 [ NormalArg (Literal (Int 2)) ]))+       , NormalArg (Literal (Int 150))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/data-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/data-08.out view
@@ -0,0 +1,201 @@+--- parse tree ---+[ Code+    "typ/compute/data-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/data-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/data-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/data-08.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "data")))+       (FuncCall+          (Ident (Identifier "toml"))+          [ NormalArg (Literal (String "/assets/files/toml-types.toml")) ]))+, SoftBreak+, Code+    "typ/compute/data-08.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "string")) (Ident (Identifier "data")))+       , NormalArg (Literal (String "wonderful"))+       ])+, SoftBreak+, Code+    "typ/compute/data-08.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "integer")) (Ident (Identifier "data")))+       , NormalArg (Literal (Int 42))+       ])+, SoftBreak+, Code+    "typ/compute/data-08.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "float")) (Ident (Identifier "data")))+       , NormalArg (Literal (Float 3.14))+       ])+, SoftBreak+, Code+    "typ/compute/data-08.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "boolean")) (Ident (Identifier "data")))+       , NormalArg (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/compute/data-08.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "date_time")) (Ident (Identifier "data")))+       , NormalArg (Literal (String "2023-02-01T15:38:57Z"))+       ])+, SoftBreak+, Code+    "typ/compute/data-08.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "array")) (Ident (Identifier "data")))+       , NormalArg+           (Array+              [ Reg (Literal (Int 1))+              , Reg (Literal (String "string"))+              , Reg (Literal (Float 3.0))+              , Reg (Literal (Boolean False))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/data-08.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "inline_table")) (Ident (Identifier "data")))+       , NormalArg+           (Dict+              [ Reg ( Literal (String "first") , Literal (String "amazing") )+              , Reg ( Literal (String "second") , Literal (String "greater") )+              ])+       ])+, SoftBreak+, Code+    "typ/compute/data-08.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "element"))+              (FieldAccess+                 (Ident (Identifier "table")) (Ident (Identifier "data"))))+       , NormalArg (Literal (Int 5))+       ])+, SoftBreak+, Code+    "typ/compute/data-08.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "others"))+              (FieldAccess+                 (Ident (Identifier "table")) (Ident (Identifier "data"))))+       , NormalArg+           (Array+              [ Reg (Literal (Boolean False))+              , Reg (Literal (String "indeed"))+              , Reg (Literal (Int 7))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/data-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/data-10.out view
@@ -0,0 +1,208 @@+--- parse tree ---+[ Code+    "typ/compute/data-10.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/data-10.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/data-10.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/data-10.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "data")))+       (FuncCall+          (Ident (Identifier "yaml"))+          [ NormalArg (Literal (String "/assets/files/yaml-types.yaml")) ]))+, SoftBreak+, Code+    "typ/compute/data-10.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "len")) (Ident (Identifier "data")))+              [])+       , NormalArg (Literal (Int 7))+       ])+, SoftBreak+, Code+    "typ/compute/data-10.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "null_key")) (Ident (Identifier "data")))+       , NormalArg (Array [ Reg (Literal None) , Reg (Literal None) ])+       ])+, SoftBreak+, Code+    "typ/compute/data-10.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "string")) (Ident (Identifier "data")))+       , NormalArg (Literal (String "text"))+       ])+, SoftBreak+, Code+    "typ/compute/data-10.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "integer")) (Ident (Identifier "data")))+       , NormalArg (Literal (Int 5))+       ])+, SoftBreak+, Code+    "typ/compute/data-10.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "float")) (Ident (Identifier "data")))+       , NormalArg (Literal (Float 1.12))+       ])+, SoftBreak+, Code+    "typ/compute/data-10.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "mapping")) (Ident (Identifier "data")))+       , NormalArg+           (Dict+              [ Reg ( Literal (String "1") , Literal (String "one") )+              , Reg ( Literal (String "2") , Literal (String "two") )+              ])+       ])+, SoftBreak+, Code+    "typ/compute/data-10.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "seq")) (Ident (Identifier "data")))+       , NormalArg+           (Array+              [ Reg (Literal (Int 1))+              , Reg (Literal (Int 2))+              , Reg (Literal (Int 3))+              , Reg (Literal (Int 4))+              ])+       ])+, SoftBreak+, Code+    "typ/compute/data-10.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FieldAccess+              (Ident (Identifier "bool")) (Ident (Identifier "data")))+       , NormalArg (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/compute/data-10.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "contains"))+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "keys")) (Ident (Identifier "data")))+                    []))+              [ NormalArg (Literal (String "true")) ])+       , NormalArg (Literal (Boolean False))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: [8]), +                 text(body: [ /= ]), +                 text(body: [7]), +                 text(body: [)]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: [true]), +                 text(body: [ /= ]), +                 text(body: [false]), +                 text(body: [)]), +                 parbreak() })
+ test/typ/compute/data-11.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/data-12.out view
@@ -0,0 +1,137 @@+--- parse tree ---+[ Code+    "typ/compute/data-12.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/data-12.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/data-12.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/data-12.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "data")))+       (FuncCall+          (Ident (Identifier "xml"))+          [ NormalArg (Literal (String "/assets/files/data.xml")) ]))+, SoftBreak+, Code+    "typ/compute/data-12.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "data"))+       , NormalArg+           (Array+              [ Reg+                  (Dict+                     [ Reg ( Ident (Identifier "tag") , Literal (String "data") )+                     , Reg ( Ident (Identifier "attrs") , Dict [] )+                     , Reg+                         ( Ident (Identifier "children")+                         , Array+                             [ Reg (Literal (String "\n  "))+                             , Reg+                                 (Dict+                                    [ Reg ( Ident (Identifier "tag") , Literal (String "hello") )+                                    , Reg+                                        ( Ident (Identifier "attrs")+                                        , Dict+                                            [ Reg+                                                ( Ident (Identifier "name")+                                                , Literal (String "hi")+                                                )+                                            ]+                                        )+                                    , Reg+                                        ( Ident (Identifier "children")+                                        , Array [ Reg (Literal (String "1")) ]+                                        )+                                    ])+                             , Reg (Literal (String "\n  "))+                             , Reg+                                 (Dict+                                    [ Reg ( Ident (Identifier "tag") , Literal (String "data") )+                                    , Reg ( Ident (Identifier "attrs") , Dict [] )+                                    , Reg+                                        ( Ident (Identifier "children")+                                        , Array+                                            [ Reg (Literal (String "\n    "))+                                            , Reg+                                                (Dict+                                                   [ Reg+                                                       ( Ident (Identifier "tag")+                                                       , Literal (String "hello")+                                                       )+                                                   , Reg ( Ident (Identifier "attrs") , Dict [] )+                                                   , Reg+                                                       ( Ident (Identifier "children")+                                                       , Array [ Reg (Literal (String "World")) ]+                                                       )+                                                   ])+                                            , Reg (Literal (String "\n    "))+                                            , Reg+                                                (Dict+                                                   [ Reg+                                                       ( Ident (Identifier "tag")+                                                       , Literal (String "hello")+                                                       )+                                                   , Reg ( Ident (Identifier "attrs") , Dict [] )+                                                   , Reg+                                                       ( Ident (Identifier "children")+                                                       , Array [ Reg (Literal (String "World")) ]+                                                       )+                                                   ])+                                            , Reg (Literal (String "\n  "))+                                            ]+                                        )+                                    ])+                             , Reg (Literal (String "\n"))+                             ]+                         )+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/data-13.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-00.out view
@@ -0,0 +1,88 @@+--- parse tree ---+[ Code+    "typ/compute/foundations-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/foundations-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/foundations-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compute/foundations-00.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type")) [ NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (String "integer"))+       ])+, SoftBreak+, Code+    "typ/compute/foundations-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg (Ident (Identifier "ltr")) ])+       , NormalArg (Literal (String "direction"))+       ])+, SoftBreak+, Code+    "typ/compute/foundations-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg (Divided (Literal (Int 10)) (Literal (Int 3))) ])+       , NormalArg (Literal (String "float"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/foundations-01.out view
@@ -0,0 +1,80 @@+--- parse tree ---+[ Code+    "typ/compute/foundations-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/foundations-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/foundations-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compute/foundations-01.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "repr"))+              [ NormalArg (Ident (Identifier "ltr")) ])+       , NormalArg (Literal (String "ltr"))+       ])+, SoftBreak+, Code+    "typ/compute/foundations-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "repr"))+              [ NormalArg+                  (Array+                     [ Reg (Literal (Int 1))+                     , Reg (Literal (Int 2))+                     , Reg (Literal (Boolean False))+                     ])+              ])+       , NormalArg (Literal (String "(1, 2, false)"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/foundations-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-11.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-12.out view
@@ -0,0 +1,74 @@+--- parse tree ---+[ Code+    "typ/compute/foundations-12.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/foundations-12.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/foundations-12.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/foundations-12.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "assert"))+       [ NormalArg (GreaterThan (Literal (Int 5)) (Literal (Int 3))) ])+, SoftBreak+, Code+    "typ/compute/foundations-12.typ"+    ( line 4 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "eq")) (Ident (Identifier "assert")))+       [ NormalArg (Literal (Int 15)) , NormalArg (Literal (Int 15)) ])+, SoftBreak+, Code+    "typ/compute/foundations-12.typ"+    ( line 5 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "ne")) (Ident (Identifier "assert")))+       [ NormalArg (Literal (Int 10)) , NormalArg (Literal (Int 12)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak() })
+ test/typ/compute/foundations-13.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/compute/foundations-13.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/foundations-13.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/foundations-13.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/compute/foundations-13.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type")) [ NormalArg (Literal (Int 1)) ])+       , NormalArg (Literal (String "integer"))+       ])+, SoftBreak+, Code+    "typ/compute/foundations-13.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg (Ident (Identifier "ltr")) ])+       , NormalArg (Literal (String "direction"))+       ])+, SoftBreak+, Code+    "typ/compute/foundations-13.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg (Divided (Literal (Int 10)) (Literal (Int 3))) ])+       , NormalArg (Literal (String "float"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/compute/foundations-14.out view
@@ -0,0 +1,56 @@+--- parse tree ---+[ Code+    "typ/compute/foundations-14.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/foundations-14.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/foundations-14.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compute/foundations-14.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "eval"))+       [ NormalArg+           (Plus (Literal (String "[_Hello")) (Literal (String " World!_]")))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 emph(body: text(body: [Hello World!])), +                 parbreak() })
+ test/typ/compute/foundations-15.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-16.out view
@@ -0,0 +1,84 @@+--- parse tree ---+[ Code+    "typ/compute/foundations-16.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/compute/foundations-16.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/compute/foundations-16.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/compute/foundations-16.typ"+    ( line 2 , column 2 )+    (Show+       (Just (Ident (Identifier "raw")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (FuncCall+             (Ident (Identifier "text"))+             [ KeyValArg (Identifier "font") (Literal (String "PT Sans"))+             , NormalArg+                 (FuncCall+                    (Ident (Identifier "eval"))+                    [ NormalArg+                        (Plus+                           (Plus+                              (Literal (String "["))+                              (FieldAccess+                                 (Ident (Identifier "text")) (Ident (Identifier "it"))))+                           (Literal (String "]")))+                    ])+             ])))+, ParBreak+, Text "Interacting"+, SoftBreak+, RawBlock "" "#set text(blue)\nBlue #move(dy: -0.15em)[\127754]\n"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Interacting+]), +                 text(body: { text(body: [+Blue ], +                                   color: rgb(0%,45%,85%,100%)), +                              move(body: text(body: [🌊], +                                              color: rgb(0%,45%,85%,100%)), +                                   dy: -0.15em), +                              parbreak() }, +                      font: "PT Sans"), +                 parbreak() })
+ test/typ/compute/foundations-17.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-18.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-19.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-20.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-21.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/compute/foundations-22.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/align-00.out view
@@ -0,0 +1,165 @@+--- parse tree ---+[ Code+    "typ/layout/align-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/align-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/align-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/align-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/align-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "left"))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "square"))+                     [ KeyValArg (Identifier "size") (Literal (Numeric 15.0 Pt))+                     , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+                     ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "center"))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "square"))+                     [ KeyValArg (Identifier "size") (Literal (Numeric 20.0 Pt))+                     , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+                     ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "right"))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "square"))+                     [ KeyValArg (Identifier "size") (Literal (Numeric 15.0 Pt))+                     , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+                     ])+              ])+       ])+, SoftBreak+, Code+    "typ/layout/align-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg+           (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+              , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+              ])+       ])+, SoftBreak+, Code+    "typ/layout/align-00.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "bottom"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "stack"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "align"))+                     [ NormalArg (Ident (Identifier "center"))+                     , NormalArg+                         (FuncCall+                            (Ident (Identifier "rect"))+                            [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+                            , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+                            ])+                     ])+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+                     , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+                     , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 stack(children: (align(alignment: left, +                                        body: square(fill: rgb(13%,61%,67%,100%), +                                                     size: 15.0pt)), +                                  align(alignment: center, +                                        body: square(fill: rgb(13%,61%,67%,100%), +                                                     size: 20.0pt)), +                                  align(alignment: right, +                                        body: square(fill: rgb(13%,61%,67%,100%), +                                                     size: 15.0pt))), +                       dir: ltr), +                 text(body: [+]), +                 align(alignment: Axes(center, horizon), +                       body: rect(fill: rgb(13%,61%,67%,100%), +                                  height: 10.0pt)), +                 text(body: [+]), +                 align(alignment: bottom, +                       body: stack(children: (align(alignment: center, +                                                    body: rect(fill: rgb(18%,80%,25%,100%), +                                                               height: 10.0pt)), +                                              rect(fill: rgb(100%,25%,21%,100%), +                                                   height: 10.0pt, +                                                   width: 100%)))), +                 parbreak() })
+ test/typ/layout/align-01.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/layout/align-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/align-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/align-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/align-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center"))+       , BlockArg+           [ SoftBreak+           , Text "Lorem"+           , Space+           , Text "Ipsum"+           , ParBreak+           , Text "Dolor"+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 align(alignment: center, +                       body: { text(body: [+Lorem Ipsum]), +                               parbreak(), +                               text(body: [Dolor]), +                               parbreak() }), +                 parbreak() })
+ test/typ/layout/align-02.out view
@@ -0,0 +1,134 @@+--- parse tree ---+[ Code+    "typ/layout/align-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/align-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/align-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/align-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "rotate"))+       [ NormalArg (Negated (Literal (Numeric 30.0 Deg)))+       , KeyValArg+           (Identifier "origin")+           (Plus (Ident (Identifier "end")) (Ident (Identifier "horizon")))+       , BlockArg [ Text "Hello" ]+       ])+, ParBreak+, Code+    "typ/layout/align-02.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "de")) ])+, SoftBreak+, Code+    "typ/layout/align-02.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "start"))+       , BlockArg [ Text "Start" ]+       ])+, SoftBreak+, Code+    "typ/layout/align-02.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "end"))+       , BlockArg [ Text "Ende" ]+       ])+, ParBreak+, Code+    "typ/layout/align-02.typ"+    ( line 9 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "ar")) ])+, SoftBreak+, Code+    "typ/layout/align-02.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "start"))+       , BlockArg [ Text "\1610\1576\1583\1571" ]+       ])+, SoftBreak+, Code+    "typ/layout/align-02.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "end"))+       , BlockArg [ Text "\1606\1607\1575\1610\1577" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 rotate(angle: -30.0deg, +                        body: text(body: [Hello]), +                        origin: Axes(end, horizon)), +                 parbreak(), +                 text(body: [+], lang: "de"), +                 align(alignment: start, +                       body: text(body: [Start], +                                  lang: "de")), +                 text(body: [+], lang: "de"), +                 align(alignment: end, +                       body: text(body: [Ende], +                                  lang: "de")), +                 parbreak(), +                 text(body: [+], lang: "ar"), +                 align(alignment: start, +                       body: text(body: [يبدأ], +                                  lang: "ar")), +                 text(body: [+], lang: "ar"), +                 align(alignment: end, +                       body: text(body: [نهاية], +                                  lang: "ar")), +                 parbreak() })
+ test/typ/layout/align-03.out view
@@ -0,0 +1,96 @@+--- parse tree ---+[ Code+    "typ/layout/align-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/align-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/align-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/align-03.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg (Ident (Identifier "center")) ])+       , NormalArg (Literal (String "alignment"))+       ])+, SoftBreak+, Code+    "typ/layout/align-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg (Ident (Identifier "horizon")) ])+       , NormalArg (Literal (String "alignment"))+       ])+, SoftBreak+, Code+    "typ/layout/align-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "type"))+              [ NormalArg+                  (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+              ])+       , NormalArg (Literal (String "2d alignment"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [❌(]), +                 text(body: [alignment]), +                 text(body: [ /= ]), +                 text(body: ["2d alignment"]), +                 text(body: [)]), +                 parbreak() })
+ test/typ/layout/align-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/align-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/block-sizing-00.out view
@@ -0,0 +1,118 @@+--- parse tree ---+[ Code+    "typ/layout/block-sizing-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/block-sizing-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/block-sizing-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/block-sizing-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/block-sizing-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center")) ])+, ParBreak+, Code+    "typ/layout/block-sizing-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 10)) ])+, SoftBreak+, Code+    "typ/layout/block-sizing-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Percent))+       , KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt))+       , KeyValArg (Identifier "fill") (Ident (Identifier "aqua"))+       ])+, SoftBreak+, Code+    "typ/layout/block-sizing-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 6)) ])+, SoftBreak+, Code+    "typ/layout/block-sizing-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "breakable") (Literal (Boolean False))+       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , KeyValArg (Identifier "inset") (Literal (Numeric 4.0 Pt))+       , KeyValArg (Identifier "fill") (Ident (Identifier "aqua"))+       , NormalArg+           (Plus+              (FuncCall+                 (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 8)) ])+              (FuncCall (Ident (Identifier "colbreak")) []))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do]), +                 text(body: [+]), +                 block(fill: rgb(49%,85%,100%,100%), +                       height: 60.0pt, +                       width: 80%), +                 text(body: [+]), +                 text(body: [Lorem ipsum dolor sit amet, consectetur]), +                 text(body: [+]), +                 block(body: { [Lorem ipsum dolor sit amet, consectetur adipiscing elit,], +                               colbreak() }, +                       breakable: false, +                       fill: rgb(49%,85%,100%,100%), +                       inset: 4.0pt, +                       width: 100%), +                 parbreak() })
+ test/typ/layout/block-sizing-01.out view
@@ -0,0 +1,112 @@+--- parse tree ---+[ Code+    "typ/layout/block-sizing-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/block-sizing-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/block-sizing-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/layout/block-sizing-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 120.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/block-sizing-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 60.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "layout"))+              [ NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "size") ]+                     (Block+                        (Content+                           [ SoftBreak+                           , Text "This"+                           , Space+                           , Text "block"+                           , Space+                           , Text "has"+                           , Space+                           , Text "a"+                           , Space+                           , Text "width"+                           , Space+                           , Text "of"+                           , Space+                           , Code+                               "typ/layout/block-sizing-01.typ"+                               ( line 6 , column 30 )+                               (FieldAccess+                                  (Ident (Identifier "width")) (Ident (Identifier "size")))+                           , Space+                           , Text "and"+                           , Space+                           , Text "height"+                           , Space+                           , Text "of"+                           , Space+                           , Code+                               "typ/layout/block-sizing-01.typ"+                               ( line 6 , column 56 )+                               (FieldAccess+                                  (Ident (Identifier "height")) (Ident (Identifier "size")))+                           , ParBreak+                           ])))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 block(body: layout(func: ), +                       height: 80.0pt, +                       width: 60.0pt), +                 parbreak() })
+ test/typ/layout/block-spacing-00.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/layout/block-spacing-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/block-spacing-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/block-spacing-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/block-spacing-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 10.0 Pt)) ])+, SoftBreak+, Text "Hello"+, ParBreak+, Text "There"+, ParBreak+, Code+    "typ/layout/block-spacing-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 20.0 Pt))+       , BlockArg [ Text "Further" , Space , Text "down" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Hello]), +                 parbreak(), +                 text(body: [There]), +                 parbreak(), +                 block(body: text(body: [Further down]), +                       spacing: 20.0pt), +                 parbreak() })
+ test/typ/layout/clip-00.out view
@@ -0,0 +1,125 @@+--- parse tree ---+[ Code+    "typ/layout/clip-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/clip-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/clip-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Hello"+, Space+, Code+    "typ/layout/clip-00.typ"+    ( line 3 , column 8 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Em))+       , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))+       , KeyValArg (Identifier "clip") (Literal (Boolean False))+       , BlockArg+           [ Code+               "typ/layout/clip-00.typ"+               ( line 3 , column 51 )+               (FuncCall+                  (Ident (Identifier "rect"))+                  [ KeyValArg (Identifier "width") (Literal (Numeric 3.0 Em))+                  , KeyValArg (Identifier "height") (Literal (Numeric 3.0 Em))+                  , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+                  ])+           ]+       ])+, SoftBreak+, Text "world"+, Space+, Text "1"+, ParBreak+, Text "Space"+, ParBreak+, Text "Hello"+, Space+, Code+    "typ/layout/clip-00.typ"+    ( line 8 , column 8 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Em))+       , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))+       , KeyValArg (Identifier "clip") (Literal (Boolean True))+       , BlockArg+           [ Code+               "typ/layout/clip-00.typ"+               ( line 8 , column 50 )+               (FuncCall+                  (Ident (Identifier "rect"))+                  [ KeyValArg (Identifier "width") (Literal (Numeric 3.0 Em))+                  , KeyValArg (Identifier "height") (Literal (Numeric 3.0 Em))+                  , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+                  ])+           ]+       ])+, Space+, SoftBreak+, Text "world"+, Space+, Text "2"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Hello ]), +                 box(body: rect(fill: rgb(100%,25%,21%,100%), +                                height: 3.0em, +                                width: 3.0em), +                     clip: false, +                     height: 1.0em, +                     width: 1.0em), +                 text(body: [+world 1]), +                 parbreak(), +                 text(body: [Space]), +                 parbreak(), +                 text(body: [Hello ]), +                 box(body: rect(fill: rgb(100%,25%,21%,100%), +                                height: 3.0em, +                                width: 3.0em), +                     clip: true, +                     height: 1.0em, +                     width: 1.0em), +                 text(body: [ +world 2]), +                 parbreak() })
+ test/typ/layout/clip-01.out view
@@ -0,0 +1,151 @@+--- parse tree ---+[ Code+    "typ/layout/clip-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/clip-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/clip-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/clip-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Em))+       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Em))+       , KeyValArg (Identifier "clip") (Literal (Boolean False))+       , KeyValArg+           (Identifier "stroke")+           (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "black")))+       , BlockArg+           [ SoftBreak+           , Text "But,"+           , Space+           , Text "soft!"+           , Space+           , Text "what"+           , Space+           , Text "light"+           , Space+           , Text "through"+           , Space+           , ParBreak+           ]+       ])+, ParBreak+, Code+    "typ/layout/clip-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 2.0 Em)) ])+, ParBreak+, Code+    "typ/layout/clip-01.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Em))+       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Em))+       , KeyValArg (Identifier "clip") (Literal (Boolean True))+       , KeyValArg+           (Identifier "stroke")+           (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "black")))+       , BlockArg+           [ SoftBreak+           , Text "But,"+           , Space+           , Text "soft!"+           , Space+           , Text "what"+           , Space+           , Text "light"+           , Space+           , Text "through"+           , Space+           , Text "yonder"+           , Space+           , Text "window"+           , Space+           , Text "breaks?"+           , Space+           , Text "It"+           , Space+           , Text "is"+           , Space+           , Text "the"+           , Space+           , Text "east,"+           , Space+           , Text "and"+           , Space+           , Text "Juliet"+           , SoftBreak+           , Text "is"+           , Space+           , Text "the"+           , Space+           , Text "sun"+           , Text "."+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 block(body: { text(body: [+But, soft! what light through ]), +                               parbreak() }, +                       clip: false, +                       height: 2.0em, +                       stroke: (thickness: 1.0pt,+                                color: rgb(0%,0%,0%,100%)), +                       width: 5.0em), +                 parbreak(), +                 v(amount: 2.0em), +                 parbreak(), +                 block(body: { text(body: [+But, soft! what light through yonder window breaks? It is the east, and Juliet+is the sun.]), +                               parbreak() }, +                       clip: true, +                       height: 2.0em, +                       stroke: (thickness: 1.0pt,+                                color: rgb(0%,0%,0%,100%)), +                       width: 5.0em), +                 parbreak() })
+ test/typ/layout/clip-02.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/layout/clip-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/clip-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/clip-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Emoji"+, Text ":"+, Space+, Code+    "typ/layout/clip-02.typ"+    ( line 3 , column 9 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 0.5 Em))+       , KeyValArg+           (Identifier "stroke")+           (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "black")))+       , BlockArg+           [ Text "\128042,"+           , Space+           , Text "\127755,"+           , Space+           , Text "\127966"+           ]+       ])+, ParBreak+, Text "Emoji"+, Text ":"+, Space+, Code+    "typ/layout/clip-02.typ"+    ( line 5 , column 9 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 0.5 Em))+       , KeyValArg (Identifier "clip") (Literal (Boolean True))+       , KeyValArg+           (Identifier "stroke")+           (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "black")))+       , BlockArg+           [ Text "\128042,"+           , Space+           , Text "\127755,"+           , Space+           , Text "\127966"+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Emoji: ]), +                 box(body: text(body: [🐪, 🌋, 🏞]), +                     height: 0.5em, +                     stroke: (thickness: 1.0pt,+                              color: rgb(0%,0%,0%,100%))), +                 parbreak(), +                 text(body: [Emoji: ]), +                 box(body: text(body: [🐪, 🌋, 🏞]), +                     clip: true, +                     height: 0.5em, +                     stroke: (thickness: 1.0pt,+                              color: rgb(0%,0%,0%,100%))), +                 parbreak() })
+ test/typ/layout/clip-03.out view
@@ -0,0 +1,120 @@+--- parse tree ---+[ Code+    "typ/layout/clip-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/clip-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/clip-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/layout/clip-03.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])+, ParBreak+, Text "First!"+, ParBreak+, Code+    "typ/layout/clip-03.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 4.0 Em))+       , KeyValArg (Identifier "clip") (Literal (Boolean True))+       , KeyValArg+           (Identifier "stroke")+           (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "black")))+       , BlockArg+           [ SoftBreak+           , Text "But,"+           , Space+           , Text "soft!"+           , Space+           , Text "what"+           , Space+           , Text "light"+           , Space+           , Text "through"+           , Space+           , Text "yonder"+           , Space+           , Text "window"+           , Space+           , Text "breaks?"+           , Space+           , Text "It"+           , Space+           , Text "is"+           , Space+           , Text "the"+           , Space+           , Text "east,"+           , Space+           , Text "and"+           , Space+           , Text "Juliet"+           , SoftBreak+           , Text "is"+           , Space+           , Text "the"+           , Space+           , Text "sun"+           , Text "."+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [First!]), +                 parbreak(), +                 block(body: { text(body: [+But, soft! what light through yonder window breaks? It is the east, and Juliet+is the sun.]), +                               parbreak() }, +                       clip: true, +                       height: 4.0em, +                       stroke: (thickness: 1.0pt,+                                color: rgb(0%,0%,0%,100%))), +                 parbreak() })
+ test/typ/layout/columns-00.out view
@@ -0,0 +1,177 @@+--- parse tree ---+[ Code+    "typ/layout/columns-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/columns-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/columns-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/columns-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 3.25 Cm))+       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))+       , KeyValArg (Identifier "columns") (Literal (Int 2))+       ])+, SoftBreak+, Code+    "typ/layout/columns-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "ar"))+       , KeyValArg+           (Identifier "font")+           (Array+              [ Reg (Literal (String "Noto Sans Arabic"))+              , Reg (Literal (String "Linux Libertine"))+              ])+       ])+, SoftBreak+, Code+    "typ/layout/columns-00.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "columns"))+       [ KeyValArg (Identifier "gutter") (Literal (Numeric 30.0 Pt)) ])+, ParBreak+, Code+    "typ/layout/columns-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       , KeyValArg (Identifier "height") (Literal (Numeric 8.0 Pt))+       , KeyValArg (Identifier "width") (Literal (Numeric 6.0 Pt))+       ])+, Space+, Text "\1608\1578\1581\1601\1610\1586"+, SoftBreak+, Text "\1575\1604\1593\1583\1610\1583"+, Space+, Text "\1605\1606"+, Space+, Text "\1575\1604\1578\1601\1575\1593\1604\1575\1578"+, Space+, Text "\1575\1604\1603\1610\1605\1610\1575\1574\1610\1577"+, Text "."+, Space+, Text "("+, Text "DNA)"+, Space+, Text "\1605\1606"+, Space+, Text "\1571\1607\1605"+, Space+, Text "\1575\1604\1571\1581\1605\1575\1590"+, Space+, Text "\1575\1604\1606\1608\1608\1610\1577"+, Space+, Text "\1575\1604\1578\1610"+, Space+, Text "\1578\1615\1588\1603\1616\1617\1604"+, SoftBreak+, Text "\1573\1604\1609"+, Space+, Text "\1580\1575\1606\1576"+, Space+, Text "\1603\1604"+, Space+, Text "\1605\1606"+, Space+, Text "\1575\1604\1576\1585\1608\1578\1610\1606\1575\1578"+, Space+, Text "\1608\1575\1604\1604\1610\1576\1610\1583\1575\1578"+, Space+, Text "\1608\1575\1604\1587\1603\1585\1610\1575\1578"+, Space+, Text "\1575\1604\1605\1578\1593\1583\1583\1577"+, SoftBreak+, Code+    "typ/layout/columns-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+       , KeyValArg (Identifier "height") (Literal (Numeric 8.0 Pt))+       , KeyValArg (Identifier "width") (Literal (Numeric 6.0 Pt))+       ])+, SoftBreak+, Text "\1575\1604\1580\1586\1610\1574\1575\1578"+, Space+, Text "\1575\1604\1590\1582\1605\1577"+, Space+, Text "\1575\1604\1571\1585\1576\1593\1577"+, Space+, Text "\1575\1604\1590\1585\1608\1585\1610\1577"+, Space+, Text "\1604\1604\1581\1610\1575\1577"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      font: ("Noto Sans Arabic", +                             "Linux Libertine"), +                      lang: "ar"), +                 parbreak(), +                 box(fill: rgb(18%,80%,25%,100%), +                     height: 8.0pt, +                     width: 6.0pt), +                 text(body: [ وتحفيز+العديد من التفاعلات الكيميائية. (DNA) من أهم الأحماض النووية التي تُشكِّل+إلى جانب كل من البروتينات والليبيدات والسكريات المتعددة+], +                      font: ("Noto Sans Arabic", +                             "Linux Libertine"), +                      lang: "ar"), +                 box(fill: rgb(13%,61%,67%,100%), +                     height: 8.0pt, +                     width: 6.0pt), +                 text(body: [+الجزيئات الضخمة الأربعة الضرورية للحياة.], +                      font: ("Noto Sans Arabic", +                             "Linux Libertine"), +                      lang: "ar"), +                 parbreak() })
+ test/typ/layout/columns-01.out view
@@ -0,0 +1,152 @@+--- parse tree ---+[ Code+    "typ/layout/columns-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/columns-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/columns-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/columns-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto) ])+, ParBreak+, Code+    "typ/layout/columns-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt))+       , KeyValArg (Identifier "inset") (Literal (Numeric 8.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "columns"))+              [ NormalArg (Literal (Int 2))+              , NormalArg+                  (Block+                     (Content+                        [ SoftBreak+                        , Text "A"+                        , Space+                        , Text "special"+                        , Space+                        , Text "plight"+                        , Space+                        , Text "has"+                        , Space+                        , Text "befallen"+                        , Space+                        , Text "our"+                        , Space+                        , Text "document"+                        , Text "."+                        , SoftBreak+                        , Text "Columns"+                        , Space+                        , Text "in"+                        , Space+                        , Text "text"+                        , Space+                        , Text "boxes"+                        , Space+                        , Text "reigned"+                        , Space+                        , Text "down"+                        , Space+                        , Text "unto"+                        , Space+                        , Text "the"+                        , Space+                        , Text "soil"+                        , SoftBreak+                        , Text "to"+                        , Space+                        , Text "waste"+                        , Space+                        , Text "a"+                        , Space+                        , Text "year"+                        , Quote '\''+                        , Text "s"+                        , Space+                        , Text "crop"+                        , Space+                        , Text "of"+                        , Space+                        , Text "rich"+                        , Space+                        , Text "layouts"+                        , Text "."+                        , SoftBreak+                        , Text "The"+                        , Space+                        , Text "columns"+                        , Space+                        , Text "at"+                        , Space+                        , Text "least"+                        , Space+                        , Text "were"+                        , Space+                        , Text "graciously"+                        , Space+                        , Text "balanced"+                        , Text "."+                        , ParBreak+                        ]))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 rect(body: columns(body: { text(body: [+A special plight has befallen our document.+Columns in text boxes reigned down unto the soil+to waste a year’s crop of rich layouts.+The columns at least were graciously balanced.]), +                                            parbreak() }, +                                    count: 2), +                      height: 100.0pt, +                      inset: 8.0pt, +                      width: 180.0pt), +                 parbreak() })
+ test/typ/layout/columns-02.out view
@@ -0,0 +1,204 @@+--- parse tree ---+[ Code+    "typ/layout/columns-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/columns-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/columns-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/columns-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 5.0 Cm))+       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))+       , KeyValArg (Identifier "columns") (Literal (Int 2))+       ])+, ParBreak+, Text "Lorem"+, Space+, Text "ipsum"+, Space+, Text "dolor"+, Space+, Text "sit"+, Space+, Text "amet"+, Space+, Text "is"+, Space+, Text "a"+, Space+, Text "common"+, Space+, Text "blind"+, Space+, Text "text"+, SoftBreak+, Text "and"+, Space+, Text "I"+, Space+, Text "again"+, Space+, Text "am"+, Space+, Text "in"+, Space+, Text "need"+, Space+, Text "of"+, Space+, Text "filling"+, Space+, Text "up"+, Space+, Text "this"+, Space+, Text "page"+, SoftBreak+, Code+    "typ/layout/columns-02.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "bottom"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 12.0 Pt))+              ])+       ])+, SoftBreak+, Code+    "typ/layout/columns-02.typ"+    ( line 8 , column 2 )+    (FuncCall (Ident (Identifier "colbreak")) [])+, ParBreak+, Text "so"+, Space+, Text "I"+, Quote '\''+, Text "m"+, Space+, Text "returning"+, Space+, Text "to"+, Space+, Text "this"+, Space+, Text "trusty"+, Space+, Text "tool"+, Space+, Text "of"+, Space+, Text "tangible"+, Space+, Text "terror"+, Text "."+, SoftBreak+, Text "Sure,"+, Space+, Text "it"+, Space+, Text "is"+, Space+, Text "not"+, Space+, Text "the"+, Space+, Text "most"+, Space+, Text "creative"+, Space+, Text "way"+, Space+, Text "of"+, Space+, Text "filling"+, Space+, Text "up"+, SoftBreak+, Text "a"+, Space+, Text "page"+, Space+, Text "for"+, Space+, Text "a"+, Space+, Text "test"+, Space+, Text "but"+, Space+, Text "it"+, Space+, Text "does"+, Space+, Text "get"+, Space+, Text "the"+, Space+, Text "job"+, Space+, Text "done"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Lorem ipsum dolor sit amet is a common blind text+and I again am in need of filling up this page+]), +                 align(alignment: bottom, +                       body: rect(fill: rgb(13%,61%,67%,100%), +                                  height: 12.0pt, +                                  width: 100%)), +                 text(body: [+]), +                 colbreak(), +                 parbreak(), +                 text(body: [so I’m returning to this trusty tool of tangible terror.+Sure, it is not the most creative way of filling up+a page for a test but it does get the job done.]), +                 parbreak() })
+ test/typ/layout/columns-03.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/layout/columns-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/columns-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/columns-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/columns-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 2.5 Cm))+       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))+       ])+, ParBreak+, Code+    "typ/layout/columns-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 6.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "columns"))+              [ NormalArg (Literal (Int 2))+              , NormalArg+                  (Block+                     (Content+                        [ SoftBreak+                        , Text "ABC"+                        , Space+                        , HardBreak+                        , Text "BCD"+                        , SoftBreak+                        , Code+                            "typ/layout/columns-03.typ"+                            ( line 8 , column 6 )+                            (FuncCall (Ident (Identifier "colbreak")) [])+                        , SoftBreak+                        , Text "DEF"+                        , ParBreak+                        ]))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 rect(body: columns(body: { text(body: [+ABC ]), +                                            linebreak(), +                                            text(body: [BCD+]), +                                            colbreak(), +                                            text(body: [+DEF]), +                                            parbreak() }, +                                    count: 2), +                      inset: 6.0pt), +                 parbreak() })
+ test/typ/layout/columns-04.out view
@@ -0,0 +1,119 @@+--- parse tree ---+[ Code+    "typ/layout/columns-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/columns-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/columns-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/columns-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 3.25 Cm))+       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))+       , KeyValArg (Identifier "columns") (Literal (Int 3))+       ])+, SoftBreak+, Code+    "typ/layout/columns-04.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "columns"))+       [ KeyValArg (Identifier "gutter") (Literal (Numeric 30.0 Pt)) ])+, ParBreak+, Code+    "typ/layout/columns-04.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , KeyValArg (Identifier "height") (Literal (Numeric 2.5 Cm))+       , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       ])+, Space+, Code+    "typ/layout/columns-04.typ"+    ( line 6 , column 49 )+    (FuncCall (Ident (Identifier "parbreak")) [])+, SoftBreak+, Code+    "typ/layout/columns-04.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))+       , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+       ])+, Space+, Code+    "typ/layout/columns-04.typ"+    ( line 7 , column 49 )+    (FuncCall (Ident (Identifier "parbreak")) [])+, SoftBreak+, Code+    "typ/layout/columns-04.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "circle"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern")) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 rect(fill: rgb(18%,80%,25%,100%), +                      height: 2.5cm, +                      width: 100%), +                 text(body: [ ]), +                 parbreak(), +                 text(body: [+]), +                 rect(fill: rgb(13%,61%,67%,100%), +                      height: 2.0cm, +                      width: 100%), +                 text(body: [ ]), +                 parbreak(), +                 text(body: [+]), +                 circle(fill: rgb(13%,61%,67%,100%)), +                 parbreak() })
+ test/typ/layout/columns-05.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/layout/columns-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/columns-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/columns-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/columns-05.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 1.0 Cm))+       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))+       , KeyValArg (Identifier "columns") (Literal (Int 2))+       ])+, ParBreak+, Text "A"+, SoftBreak+, Code+    "typ/layout/columns-05.typ"+    ( line 6 , column 2 )+    (FuncCall (Ident (Identifier "colbreak")) [])+, SoftBreak+, Code+    "typ/layout/columns-05.typ"+    ( line 7 , column 2 )+    (FuncCall (Ident (Identifier "colbreak")) [])+, SoftBreak+, Text "B"+, SoftBreak+, Code+    "typ/layout/columns-05.typ"+    ( line 9 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, SoftBreak+, Text "C"+, SoftBreak+, Code+    "typ/layout/columns-05.typ"+    ( line 11 , column 2 )+    (FuncCall (Ident (Identifier "colbreak")) [])+, SoftBreak+, Text "D"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [A+]), +                 colbreak(), +                 text(body: [+]), +                 colbreak(), +                 text(body: [+B+]), +                 pagebreak(), +                 text(body: [+C+]), +                 colbreak(), +                 text(body: [+D]), +                 parbreak() })
+ test/typ/layout/columns-06.out view
@@ -0,0 +1,88 @@+--- parse tree ---+[ Code+    "typ/layout/columns-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/columns-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/columns-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/columns-06.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))+       , KeyValArg (Identifier "columns") (Literal (Int 2))+       ])+, ParBreak+, Code+    "typ/layout/columns-06.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , KeyValArg (Identifier "inset") (Literal (Numeric 3.0 Pt))+       , BlockArg+           [ Text "So"+           , Space+           , Text "there"+           , Space+           , Text "isn"+           , Quote '\''+           , Text "t"+           , Space+           , Text "anything"+           , Space+           , Text "in"+           , Space+           , Text "the"+           , Space+           , Text "second"+           , Space+           , Text "column?"+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 rect(body: text(body: [So there isn’t anything in the second column?]), +                      inset: 3.0pt, +                      width: 100%), +                 parbreak() })
+ test/typ/layout/columns-07.out view
@@ -0,0 +1,65 @@+--- parse tree ---+[ Code+    "typ/layout/columns-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/columns-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/columns-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/columns-07.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto)+       , KeyValArg (Identifier "columns") (Literal (Int 3))+       ])+, ParBreak+, Text "Arbitrary"+, Space+, Text "horizontal"+, Space+, Text "growth"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Arbitrary horizontal growth.]), +                 parbreak() })
+ test/typ/layout/columns-08.out view
@@ -0,0 +1,151 @@+--- parse tree ---+[ Code+    "typ/layout/columns-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/columns-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/columns-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/columns-08.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))+       , KeyValArg (Identifier "columns") (Literal (Int 2))+       ])+, ParBreak+, Text "There"+, Space+, Text "can"+, Space+, Text "be"+, Space+, Text "as"+, Space+, Text "much"+, Space+, Text "content"+, Space+, Text "as"+, Space+, Text "you"+, Space+, Text "want"+, Space+, Text "in"+, Space+, Text "the"+, Space+, Text "left"+, Space+, Text "column"+, SoftBreak+, Text "and"+, Space+, Text "the"+, Space+, Text "document"+, Space+, Text "will"+, Space+, Text "grow"+, Space+, Text "with"+, Space+, Text "it"+, Text "."+, ParBreak+, Code+    "typ/layout/columns-08.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , KeyValArg (Identifier "height") (Literal (Numeric 30.0 Pt))+       ])+, ParBreak+, Text "Only"+, Space+, Text "an"+, Space+, Text "explicit"+, Space+, Code+    "typ/layout/columns-08.typ"+    ( line 10 , column 19 )+    (FuncCall (Ident (Identifier "colbreak")) [])+, Space+, RawInline "#colbreak()"+, Space+, Text "can"+, Space+, Text "put"+, Space+, Text "content"+, Space+, Text "in"+, Space+, Text "the"+, SoftBreak+, Text "second"+, Space+, Text "column"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [There can be as much content as you want in the left column+and the document will grow with it.]), +                 parbreak(), +                 rect(fill: rgb(18%,80%,25%,100%), +                      height: 30.0pt, +                      width: 100%), +                 parbreak(), +                 text(body: [Only an explicit ]), +                 colbreak(), +                 text(body: [ ]), +                 raw(block: false, +                     lang: none, +                     text: "#colbreak()"), +                 text(body: [ can put content in the+second column.]), +                 parbreak() })
+ test/typ/layout/columns-09.out view
@@ -0,0 +1,75 @@+--- parse tree ---+[ Code+    "typ/layout/columns-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/columns-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/columns-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/columns-09.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal Auto)+       , KeyValArg (Identifier "width") (Literal (Numeric 7.05 Cm))+       , KeyValArg (Identifier "columns") (Literal (Int 1))+       ])+, ParBreak+, Text "This"+, Space+, Text "is"+, Space+, Text "a"+, Space+, Text "normal"+, Space+, Text "page"+, Text "."+, Space+, Text "Very"+, Space+, Text "normal"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [This is a normal page. Very normal.]), +                 parbreak() })
+ test/typ/layout/columns-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/container-00.out view
@@ -0,0 +1,85 @@+--- parse tree ---+[ Code+    "typ/layout/container-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/container-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/container-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Space+, Code+    "typ/layout/container-00.typ"+    ( line 3 , column 4 )+    (FuncCall+       (Ident (Identifier "box"))+       [ BlockArg [ Text "B" , Space , HardBreak , Text "C" ] ])+, Space+, Text "D"+, Text "."+, ParBreak+, Comment+, Text "Spaced"+, Space+, HardBreak+, Code+    "typ/layout/container-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 0.5 Cm)) ])+, Space+, HardBreak+, Text "Apart"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A ]), +                 box(body: { text(body: [B ]), +                             linebreak(), +                             text(body: [C]) }), +                 text(body: [ D.]), +                 parbreak(), +                 text(body: [Spaced ]), +                 linebreak(), +                 box(height: 0.5cm), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [Apart]), +                 parbreak() })
+ test/typ/layout/container-01.out view
@@ -0,0 +1,115 @@+--- parse tree ---+[ Code+    "typ/layout/container-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/container-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/container-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/container-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 120.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/container-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 0.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/container-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 90.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt))+       , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , BlockArg+           [ SoftBreak+           , Code+               "typ/layout/container-01.typ"+               ( line 6 , column 4 )+               (FuncCall+                  (Ident (Identifier "block"))+                  [ KeyValArg (Identifier "width") (Literal (Numeric 60.0 Percent))+                  , KeyValArg (Identifier "height") (Literal (Numeric 60.0 Percent))+                  , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+                  ])+           , SoftBreak+           , Code+               "typ/layout/container-01.typ"+               ( line 7 , column 4 )+               (FuncCall+                  (Ident (Identifier "block"))+                  [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))+                  , KeyValArg (Identifier "height") (Literal (Numeric 60.0 Percent))+                  , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))+                  ])+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 block(body: { text(body: [+]), +                               block(fill: rgb(18%,80%,25%,100%), +                                     height: 60%, +                                     spacing: 0.0pt, +                                     width: 60%), +                               text(body: [+]), +                               block(fill: rgb(0%,45%,85%,100%), +                                     height: 60%, +                                     spacing: 0.0pt, +                                     width: 50%), +                               parbreak() }, +                       fill: rgb(100%,25%,21%,100%), +                       height: 80.0pt, +                       spacing: 0.0pt, +                       width: 90.0pt), +                 parbreak() })
+ test/typ/layout/container-02.out view
@@ -0,0 +1,92 @@+--- parse tree ---+[ Code+    "typ/layout/container-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/container-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/container-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/container-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 50.0 Pt))+       , KeyValArg (Identifier "fill") (Ident (Identifier "yellow"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "path"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "purple"))+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 0.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 30.0 Pt))+                     , Reg (Literal (Numeric 30.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 30.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 30.0 Pt))+                     , Reg (Literal (Numeric 0.0 Pt))+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 box(body: path(fill: rgb(69%,5%,78%,100%), +                                vertices: ((0.0pt, 0.0pt), +                                           (30.0pt, +                                            30.0pt), +                                           (0.0pt, 30.0pt), +                                           (30.0pt, +                                            0.0pt))), +                     fill: rgb(100%,86%,0%,100%), +                     height: 50.0pt, +                     width: 50.0pt), +                 parbreak() })
+ test/typ/layout/container-03.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/layout/container-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/container-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/container-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Hello"+, Space+, Code+    "typ/layout/container-03.typ"+    ( line 3 , column 8 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "height") (Literal (Numeric 0.7 Em))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              ])+       ])+, Space+, Text "World"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Hello ]), +                 box(body: rect(height: 0.7em, +                                width: 100%), +                     width: 1.0fr), +                 text(body: [ World]), +                 parbreak() })
+ test/typ/layout/container-04.out view
@@ -0,0 +1,111 @@+--- parse tree ---+[ Code+    "typ/layout/container-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/container-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/container-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/layout/container-04.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])+, ParBreak+, Text "First!"+, ParBreak+, Code+    "typ/layout/container-04.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ BlockArg+           [ SoftBreak+           , Text "But,"+           , Space+           , Text "soft!"+           , Space+           , Text "what"+           , Space+           , Text "light"+           , Space+           , Text "through"+           , Space+           , Text "yonder"+           , Space+           , Text "window"+           , Space+           , Text "breaks?"+           , Space+           , Text "It"+           , Space+           , Text "is"+           , Space+           , Text "the"+           , Space+           , Text "east,"+           , Space+           , Text "and"+           , Space+           , Text "Juliet"+           , SoftBreak+           , Text "is"+           , Space+           , Text "the"+           , Space+           , Text "sun"+           , Text "."+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [First!]), +                 parbreak(), +                 block(body: { text(body: [+But, soft! what light through yonder window breaks? It is the east, and Juliet+is the sun.]), +                               parbreak() }), +                 parbreak() })
+ test/typ/layout/container-fill-00.out view
@@ -0,0 +1,138 @@+--- parse tree ---+[ Code+    "typ/layout/container-fill-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/container-fill-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/container-fill-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/container-fill-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/container-fill-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "words")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "split"))+             (FuncCall+                (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 18)) ]))+          []))+, SoftBreak+, Code+    "typ/layout/container-fill-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 8.0 Pt))+       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , KeyValArg (Identifier "fill") (Ident (Identifier "aqua"))+       , KeyValArg+           (Identifier "stroke")+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "darken")) (Ident (Identifier "aqua")))+              [ NormalArg (Literal (Numeric 30.0 Percent)) ])+       , BlockArg+           [ SoftBreak+           , Code+               "typ/layout/container-fill-00.typ"+               ( line 5 , column 4 )+               (FuncCall+                  (FieldAccess+                     (Ident (Identifier "join"))+                     (FuncCall+                        (FieldAccess+                           (Ident (Identifier "slice")) (Ident (Identifier "words")))+                        [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 13)) ]))+                  [ NormalArg (Literal (String " ")) ])+           , SoftBreak+           , Code+               "typ/layout/container-fill-00.typ"+               ( line 6 , column 4 )+               (FuncCall+                  (Ident (Identifier "box"))+                  [ KeyValArg (Identifier "fill") (Ident (Identifier "teal"))+                  , KeyValArg (Identifier "outset") (Literal (Numeric 2.0 Pt))+                  , BlockArg [ Text "tempor" ]+                  ])+           , SoftBreak+           , Code+               "typ/layout/container-fill-00.typ"+               ( line 7 , column 4 )+               (FuncCall+                  (FieldAccess+                     (Ident (Identifier "join"))+                     (FuncCall+                        (FieldAccess+                           (Ident (Identifier "slice")) (Ident (Identifier "words")))+                        [ NormalArg (Literal (Int 13)) ]))+                  [ NormalArg (Literal (String " ")) ])+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 block(body: { text(body: [+]), +                               text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt]), +                               text(body: [+]), +                               box(body: text(body: [tempor]), +                                   fill: rgb(22%,80%,80%,100%), +                                   outset: 2.0pt), +                               text(body: [+]), +                               text(body: [ut labore et dolore magna]), +                               parbreak() }, +                       fill: rgb(49%,85%,100%,100%), +                       inset: 8.0pt, +                       stroke: rgb(34%,60%,70%,100%), +                       width: 100%), +                 parbreak() })
+ test/typ/layout/enum-00.out view
@@ -0,0 +1,59 @@+--- parse tree ---+[ Code+    "typ/layout/enum-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/enum-00.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "enum"))+       [ BlockArg [ Text "Embrace" ]+       , BlockArg [ Text "Extend" ]+       , BlockArg [ Text "Extinguish" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 enum(children: (text(body: [Embrace]), +                                 text(body: [Extend]), +                                 text(body: [Extinguish]))), +                 parbreak() })
+ test/typ/layout/enum-01.out view
@@ -0,0 +1,65 @@+--- parse tree ---+[ Code+    "typ/layout/enum-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, EnumListItem (Just 0) [ Text "Before" , Space , Text "first!" ]+, SoftBreak+, EnumListItem+    (Just 1)+    [ Text "First"+    , Text "."+    , SoftBreak+    , EnumListItem (Just 2) [ Text "Indented" , SoftBreak ]+    ]+, SoftBreak+, EnumListItem Nothing [ Text "Second" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 enum(children: (text(body: [Before first!]), +                                 { text(body: [First.+]), +                                   enum(children: (text(body: [Indented+])), +                                        start: 2) }, +                                 { text(body: [Second]), +                                   parbreak() }), +                      start: 0) })
+ test/typ/layout/enum-02.out view
@@ -0,0 +1,82 @@+--- parse tree ---+[ Code+    "typ/layout/enum-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/enum-02.typ"+    ( line 3 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range")) [ NormalArg (Literal (Int 5)) ])+       (Block+          (CodeBlock+             [ Block+                 (Content+                    [ EnumListItem+                        Nothing+                        [ Code+                            "typ/layout/enum-02.typ"+                            ( line 4 , column 8 )+                            (FuncCall+                               (Ident (Identifier "numbering"))+                               [ NormalArg (Literal (String "I"))+                               , NormalArg (Plus (Literal (Int 1)) (Ident (Identifier "i")))+                               ])+                        ]+                    ])+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 enum(children: (numbering(numbering: "I", +                                           numbers: (1)))), +                 enum(children: (numbering(numbering: "I", +                                           numbers: (2)))), +                 enum(children: (numbering(numbering: "I", +                                           numbers: (3)))), +                 enum(children: (numbering(numbering: "I", +                                           numbers: (4)))), +                 enum(children: (numbering(numbering: "I", +                                           numbers: (5)))), +                 parbreak() })
+ test/typ/layout/enum-03.out view
@@ -0,0 +1,56 @@+--- parse tree ---+[ Code+    "typ/layout/enum-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, BulletListItem [ Text "Bullet" , Space , Text "List" ]+, SoftBreak+, EnumListItem Nothing [ Text "Numbered" , Space , Text "List" ]+, SoftBreak+, DescListItem [ Text "Term" ] [ Text "List" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 list(children: (text(body: [Bullet List]))), +                 enum(children: (text(body: [Numbered List]))), +                 terms(children: ((text(body: [Term]), +                                   { text(body: [List]), +                                     parbreak() }))) })
+ test/typ/layout/enum-04.out view
@@ -0,0 +1,75 @@+--- parse tree ---+[ Code+    "typ/layout/enum-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "1"+, Text "."+, Text "2"+, Space+, HardBreak+, Text "This"+, Space+, Text "is"+, Space+, Text "0"+, Text "."+, Space+, HardBreak+, Text "See"+, Space+, Text "0"+, Text "."+, Text "3"+, Text "."+, Space+, HardBreak+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [1.2 ]), +                 linebreak(), +                 text(body: [This is 0. ]), +                 linebreak(), +                 text(body: [See 0.3. ]), +                 linebreak(), +                 parbreak() })
+ test/typ/layout/enum-05.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/layout/enum-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, EnumListItem Nothing []+, SoftBreak+, Text "Empty"+, Space+, HardBreak+, Text "+Nope"+, Space+, HardBreak+, Text "a"+, Space+, Text "+"+, Space+, Text "0"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 enum(children: ({  })), +                 text(body: [Empty ]), +                 linebreak(), +                 text(body: [+Nope ]), +                 linebreak(), +                 text(body: [a + 0.]), +                 parbreak() })
+ test/typ/layout/enum-06.out view
@@ -0,0 +1,81 @@+--- parse tree ---+[ Code+    "typ/layout/enum-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, EnumListItem (Just 1) [ Text "first" ]+, SoftBreak+, EnumListItem Nothing [ Text "second" ]+, SoftBreak+, EnumListItem (Just 5) [ Text "fifth" , SoftBreak ]+, SoftBreak+, Code+    "typ/layout/enum-06.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "enum"))+       [ NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "item")) (Ident (Identifier "enum")))+              [ NormalArg (Literal (Int 1)) , BlockArg [ Text "First" ] ])+       , NormalArg (Block (Content [ Text "Second" ]))+       , NormalArg+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "item")) (Ident (Identifier "enum")))+              [ NormalArg (Literal (Int 5)) , BlockArg [ Text "Fifth" ] ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 enum(children: (text(body: [first]), +                                 text(body: [second]), +                                 text(body: [fifth+])), +                      start: 1), +                 enum(children: (enum.item(body: text(body: [First]), +                                           number: 1), +                                 text(body: [Second]), +                                 enum.item(body: text(body: [Fifth]), +                                           number: 5))), +                 parbreak() })
+ test/typ/layout/enum-align-00.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/layout/enum-align-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-align-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-align-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/enum-align-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "horizon")) ])+, ParBreak+, EnumListItem+    Nothing+    [ Text "ABCDEF"+    , HardBreak+    , Text "GHIJKL"+    , HardBreak+    , Text "MNOPQR"+    , SoftBreak+    , EnumListItem+        Nothing+        [ Text "INNER"+        , HardBreak+        , Text "INNER"+        , HardBreak+        , Text "INNER"+        ]+    ]+, SoftBreak+, EnumListItem+    Nothing [ Text "BACK" , HardBreak , Text "HERE" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 enum(children: ({ text(body: [ABCDEF]), +                                   linebreak(), +                                   text(body: [GHIJKL]), +                                   linebreak(), +                                   text(body: [MNOPQR+]), +                                   enum(children: ({ text(body: [INNER]), +                                                     linebreak(), +                                                     text(body: [INNER]), +                                                     linebreak(), +                                                     text(body: [INNER]) })) }, +                                 { text(body: [BACK]), +                                   linebreak(), +                                   text(body: [HERE]), +                                   parbreak() })) })
+ test/typ/layout/enum-align-01.out view
@@ -0,0 +1,79 @@+--- parse tree ---+[ Code+    "typ/layout/enum-align-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-align-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-align-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, EnumListItem (Just 1) [ Text "a" ]+, SoftBreak+, EnumListItem (Just 10) [ Text "b" ]+, SoftBreak+, EnumListItem (Just 100) [ Text "c" , SoftBreak ]+, SoftBreak+, Code+    "typ/layout/enum-align-01.typ"+    ( line 7 , column 2 )+    (Set+       (Ident (Identifier "enum"))+       [ KeyValArg+           (Identifier "number-align") (Ident (Identifier "start"))+       ])+, SoftBreak+, EnumListItem (Just 1) [ Space , Text "a" ]+, SoftBreak+, EnumListItem (Just 8) [ Space , Text "b" ]+, SoftBreak+, EnumListItem (Just 16) [ Text "c" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 enum(children: (text(body: [a]), +                                 text(body: [b]), +                                 text(body: [c+])), +                      start: 1), +                 text(body: [+]), +                 enum(children: (text(body: [ a]), +                                 text(body: [ b]), +                                 { text(body: [c]), +                                   parbreak() }), +                      number-align: start, +                      start: 1) })
+ test/typ/layout/enum-align-02.out view
@@ -0,0 +1,97 @@+--- parse tree ---+[ Code+    "typ/layout/enum-align-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-align-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-align-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/enum-align-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center")) ])+, SoftBreak+, Code+    "typ/layout/enum-align-02.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "enum"))+       [ KeyValArg+           (Identifier "number-align") (Ident (Identifier "start"))+       ])+, ParBreak+, EnumListItem (Just 4) [ Space , Text "c" ]+, SoftBreak+, EnumListItem (Just 8) [ Space , Text "d" ]+, SoftBreak+, EnumListItem+    (Just 16)+    [ Text "e"+    , HardBreak+    , Text "f"+    , SoftBreak+    , EnumListItem (Just 2) [ Space , Text "f" , HardBreak , Text "g" ]+    , SoftBreak+    , EnumListItem (Just 32) [ Text "g" ]+    , SoftBreak+    , EnumListItem (Just 64) [ Text "h" , ParBreak ]+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 enum(children: (text(body: [ c]), +                                 text(body: [ d]), +                                 { text(body: [e]), +                                   linebreak(), +                                   text(body: [f+]), +                                   enum(children: ({ text(body: [ f]), +                                                     linebreak(), +                                                     text(body: [g]) }, +                                                   text(body: [g]), +                                                   { text(body: [h]), +                                                     parbreak() }), +                                        number-align: start, +                                        start: 2) }), +                      number-align: start, +                      start: 4) })
+ test/typ/layout/enum-align-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/enum-numbering-00.out view
@@ -0,0 +1,83 @@+--- parse tree ---+[ Code+    "typ/layout/enum-numbering-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-numbering-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-numbering-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/enum-numbering-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "enum"))+       [ KeyValArg (Identifier "numbering") (Literal (String "(1.a.*)"))+       ])+, SoftBreak+, EnumListItem Nothing [ Text "First" ]+, SoftBreak+, EnumListItem+    Nothing+    [ Text "Second"+    , SoftBreak+    , EnumListItem+        (Just 2)+        [ Text "Nested"+        , SoftBreak+        , EnumListItem Nothing [ Text "Deep" ]+        ]+    ]+, SoftBreak+, EnumListItem Nothing [ Text "Normal" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 enum(children: (text(body: [First]), +                                 { text(body: [Second+]), +                                   enum(children: ({ text(body: [Nested+]), +                                                     enum(children: (text(body: [Deep])), +                                                          numbering: "(1.a.*)") }), +                                        numbering: "(1.a.*)", +                                        start: 2) }, +                                 { text(body: [Normal]), +                                   parbreak() }), +                      numbering: "(1.a.*)") })
+ test/typ/layout/enum-numbering-01.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/layout/enum-numbering-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-numbering-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-numbering-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/enum-numbering-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "enum"))+       [ KeyValArg (Identifier "numbering") (Literal (String "1.a."))+       , KeyValArg (Identifier "full") (Literal (Boolean True))+       ])+, SoftBreak+, EnumListItem+    Nothing+    [ Text "First"+    , SoftBreak+    , EnumListItem Nothing [ Text "Nested" , ParBreak ]+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 enum(children: ({ text(body: [First+]), +                                   enum(children: ({ text(body: [Nested]), +                                                     parbreak() }), +                                        full: true, +                                        numbering: "1.a.") }), +                      full: true, +                      numbering: "1.a.") })
+ test/typ/layout/enum-numbering-02.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/layout/enum-numbering-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-numbering-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-numbering-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/enum-numbering-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "enum"))+       [ KeyValArg (Identifier "start") (Literal (Int 3))+       , KeyValArg+           (Identifier "spacing")+           (Minus (Literal (Numeric 0.65 Em)) (Literal (Numeric 3.0 Pt)))+       , KeyValArg (Identifier "tight") (Literal (Boolean False))+       , KeyValArg+           (Identifier "numbering")+           (FuncExpr+              [ NormalParam (Identifier "n") ]+              (FuncCall+                 (Ident (Identifier "text"))+                 [ KeyValArg+                     (Identifier "fill")+                     (FuncCall+                        (FieldAccess+                           (Ident (Identifier "at"))+                           (Array+                              [ Reg (Ident (Identifier "red"))+                              , Reg (Ident (Identifier "green"))+                              , Reg (Ident (Identifier "blue"))+                              ]))+                        [ NormalArg+                            (FuncCall+                               (FieldAccess+                                  (Ident (Identifier "rem")) (Ident (Identifier "calc")))+                               [ NormalArg (Ident (Identifier "n"))+                               , NormalArg (Literal (Int 3))+                               ])+                        ])+                 , NormalArg+                     (FuncCall+                        (Ident (Identifier "numbering"))+                        [ NormalArg (Literal (String "A"))+                        , NormalArg (Ident (Identifier "n"))+                        ])+                 ]))+       , NormalArg (Block (Content [ Text "Red" ]))+       , NormalArg (Block (Content [ Text "Green" ]))+       , NormalArg (Block (Content [ Text "Blue" ]))+       , NormalArg (Block (Content [ Text "Red" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 enum(children: (text(body: [Red]), +                                 text(body: [Green]), +                                 text(body: [Blue]), +                                 text(body: [Red])), +                      numbering: , +                      spacing: 0.65em + -3.0pt, +                      start: 3, +                      tight: false), +                 parbreak() })
+ test/typ/layout/enum-numbering-03.out view
@@ -0,0 +1,80 @@+--- parse tree ---+[ Code+    "typ/layout/enum-numbering-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-numbering-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-numbering-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/enum-numbering-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "enum"))+       [ KeyValArg+           (Identifier "numbering")+           (FuncExpr+              [ NormalParam (Identifier "n") ]+              (FuncCall+                 (Ident (Identifier "super"))+                 [ BlockArg+                     [ Code+                         "typ/layout/enum-numbering-03.typ"+                         ( line 3 , column 34 )+                         (Ident (Identifier "n"))+                     ]+                 ]))+       ])+, SoftBreak+, EnumListItem+    Nothing+    [ Text "A" , SoftBreak , EnumListItem Nothing [ Text "B" ] ]+, SoftBreak+, EnumListItem Nothing [ Text "C" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 enum(children: ({ text(body: [A+]), +                                   enum(children: (text(body: [B])), +                                        numbering: ) }, +                                 { text(body: [C]), +                                   parbreak() }), +                      numbering: ) })
+ test/typ/layout/enum-numbering-04.out view
@@ -0,0 +1,117 @@+--- parse tree ---+[ Code+    "typ/layout/enum-numbering-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/enum-numbering-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/enum-numbering-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/enum-numbering-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font") (Literal (String "New Computer Modern"))+       ])+, SoftBreak+, Code+    "typ/layout/enum-numbering-04.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "enum"))+       [ KeyValArg+           (Identifier "numbering")+           (FuncExpr+              [ SinkParam (Just (Identifier "args")) ]+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "mat")) (Ident (Identifier "math")))+                 [ NormalArg+                     (FuncCall+                        (FieldAccess+                           (Ident (Identifier "pos")) (Ident (Identifier "args")))+                        [])+                 ]))+       , KeyValArg (Identifier "full") (Literal (Boolean True))+       ])+, SoftBreak+, EnumListItem+    Nothing+    [ Text "A"+    , SoftBreak+    , EnumListItem Nothing [ Text "B" ]+    , SoftBreak+    , EnumListItem+        Nothing+        [ Text "C" , SoftBreak , EnumListItem Nothing [ Text "D" ] ]+    ]+, SoftBreak+, EnumListItem Nothing [ Text "E" ]+, SoftBreak+, EnumListItem Nothing [ Text "F" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      font: "New Computer Modern"), +                 text(body: [+], +                      font: "New Computer Modern"), +                 enum(children: ({ text(body: [A+], +                                        font: "New Computer Modern"), +                                   enum(children: (text(body: [B], +                                                        font: "New Computer Modern"), +                                                   { text(body: [C+], +                                                          font: "New Computer Modern"), +                                                     enum(children: (text(body: [D], +                                                                          font: "New Computer Modern")), +                                                          full: true, +                                                          numbering: ) }), +                                        full: true, +                                        numbering: ) }, +                                 text(body: [E], +                                      font: "New Computer Modern"), +                                 { text(body: [F], +                                        font: "New Computer Modern"), +                                   parbreak() }), +                      full: true, +                      numbering: ) })
+ test/typ/layout/enum-numbering-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/enum-numbering-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/flow-orphan-00.out view
@@ -0,0 +1,84 @@+--- parse tree ---+[ Code+    "typ/layout/flow-orphan-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/flow-orphan-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/flow-orphan-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/flow-orphan-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/flow-orphan-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 12)) ])+, ParBreak+, Heading 1 [ Text "Introduction" ]+, Text "This"+, Space+, Text "is"+, Space+, Text "the"+, Space+, Text "start"+, Space+, Text "and"+, Space+, Text "it"+, Space+, Text "goes"+, Space+, Text "on"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor]), +                 parbreak(), +                 heading(body: text(body: [Introduction]), +                         level: 1), +                 text(body: [This is the start and it goes on.]), +                 parbreak() })
+ test/typ/layout/flow-orphan-01.out view
@@ -0,0 +1,152 @@+--- parse tree ---+[ Code+    "typ/layout/flow-orphan-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/flow-orphan-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/flow-orphan-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/flow-orphan-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ NormalArg (Literal (String "a8"))+       , KeyValArg (Identifier "height") (Literal (Numeric 140.0 Pt))+       ])+, SoftBreak+, Code+    "typ/layout/flow-orphan-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "weight") (Literal (Int 700)) ])+, ParBreak+, Comment+, Code+    "typ/layout/flow-orphan-01.typ"+    ( line 6 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Ident (Identifier "blue")) ])+, SoftBreak+, Code+    "typ/layout/flow-orphan-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 27)) ])+, ParBreak+, Comment+, Code+    "typ/layout/flow-orphan-01.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])+, ParBreak+, Comment+, Comment+, Code+    "typ/layout/flow-orphan-01.typ"+    ( line 14 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Ident (Identifier "maroon")) ])+, SoftBreak+, Code+    "typ/layout/flow-orphan-01.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 11)) ])+, ParBreak+, Code+    "typ/layout/flow-orphan-01.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 13)) ])+, ParBreak+, Comment+, Code+    "typ/layout/flow-orphan-01.typ"+    ( line 20 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Ident (Identifier "olive")) ])+, SoftBreak+, Code+    "typ/layout/flow-orphan-01.typ"+    ( line 21 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 10)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [+], +                      color: rgb(0%,45%,85%,100%), +                      weight: 700), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation], +                      color: rgb(0%,45%,85%,100%), +                      weight: 700), +                 parbreak(), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut], +                      color: rgb(0%,45%,85%,100%), +                      weight: 700), +                 parbreak(), +                 text(body: [+], +                      color: rgb(52%,7%,29%,100%), +                      weight: 700), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod], +                      color: rgb(52%,7%,29%,100%), +                      weight: 700), +                 parbreak(), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt], +                      color: rgb(52%,7%,29%,100%), +                      weight: 700), +                 parbreak(), +                 text(body: [+], +                      color: rgb(23%,60%,43%,100%), +                      weight: 700), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do], +                      color: rgb(23%,60%,43%,100%), +                      weight: 700), +                 parbreak() })
+ test/typ/layout/grid-1-00.out view
@@ -0,0 +1,230 @@+--- parse tree ---+[ Code+    "typ/layout/grid-1-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-1-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-1-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/grid-1-00.typ"+    ( line 2 , column 2 )+    (LetFunc+       (Identifier "cell")+       [ NormalParam (Identifier "width")+       , NormalParam (Identifier "color")+       ]+       (FuncCall+          (Ident (Identifier "rect"))+          [ KeyValArg (Identifier "width") (Ident (Identifier "width"))+          , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))+          , KeyValArg (Identifier "fill") (Ident (Identifier "color"))+          ]))+, SoftBreak+, Code+    "typ/layout/grid-1-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 140.0 Pt))+       ])+, SoftBreak+, Code+    "typ/layout/grid-1-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Array+              [ Reg (Literal Auto)+              , Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 3.0 Fr))+              , Reg (Literal (Numeric 0.25 Cm))+              , Reg (Literal (Numeric 3.0 Percent))+              , Reg+                  (Plus (Literal (Numeric 2.0 Mm)) (Literal (Numeric 10.0 Percent)))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 0.5 Cm))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "2a631a")) ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 100.0 Percent))+              , NormalArg (Ident (Identifier "red"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 100.0 Percent))+              , NormalArg (Ident (Identifier "green"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 100.0 Percent))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "ff0000")) ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 100.0 Percent))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "00ff00")) ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 80.0 Percent))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "00faf0")) ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 1.0 Cm))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "00ff00")) ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 0.5 Cm))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "2a631a")) ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 100.0 Percent))+              , NormalArg (Ident (Identifier "red"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 100.0 Percent))+              , NormalArg (Ident (Identifier "green"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 100.0 Percent))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "ff0000")) ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "cell"))+              [ NormalArg (Literal (Numeric 100.0 Percent))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "00ff00")) ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 grid(children: (rect(fill: rgb(16%,38%,10%,100%), +                                      height: 2.0cm, +                                      width: 0.5cm), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      height: 2.0cm, +                                      width: 100%), +                                 rect(fill: rgb(18%,80%,25%,100%), +                                      height: 2.0cm, +                                      width: 100%), +                                 rect(fill: rgb(100%,0%,0%,100%), +                                      height: 2.0cm, +                                      width: 100%), +                                 rect(fill: rgb(0%,100%,0%,100%), +                                      height: 2.0cm, +                                      width: 100%), +                                 rect(fill: rgb(0%,98%,94%,100%), +                                      height: 2.0cm, +                                      width: 80%), +                                 rect(fill: rgb(0%,100%,0%,100%), +                                      height: 2.0cm, +                                      width: 1.0cm), +                                 rect(fill: rgb(16%,38%,10%,100%), +                                      height: 2.0cm, +                                      width: 0.5cm), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      height: 2.0cm, +                                      width: 100%), +                                 rect(fill: rgb(18%,80%,25%,100%), +                                      height: 2.0cm, +                                      width: 100%), +                                 rect(fill: rgb(100%,0%,0%,100%), +                                      height: 2.0cm, +                                      width: 100%), +                                 rect(fill: rgb(0%,100%,0%,100%), +                                      height: 2.0cm, +                                      width: 100%)), +                      columns: (auto, +                                1.0fr, +                                3.0fr, +                                0.25cm, +                                3%, +                                2.0mm + 10%)), +                 parbreak() })
+ test/typ/layout/grid-1-01.out view
@@ -0,0 +1,106 @@+--- parse tree ---+[ Code+    "typ/layout/grid-1-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-1-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-1-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/grid-1-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/grid-1-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Array+              [ Reg (Literal Auto)+              , Reg (Literal Auto)+              , Reg (Literal (Numeric 40.0 Percent))+              ])+       , KeyValArg (Identifier "column-gutter") (Literal (Numeric 1.0 Fr))+       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+              , BlockArg+                  [ Text "dddaa" , Space , Text "aaa" , Space , Text "aaa" ]+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+              , BlockArg [ Text "ccc" ]+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg+                  (Identifier "fill")+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "dddddd")) ])+              , BlockArg [ Text "aaa" ]+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: (rect(body: text(body: [dddaa aaa aaa]), +                                      fill: rgb(13%,61%,67%,100%), +                                      inset: 0.0pt), +                                 rect(body: text(body: [ccc]), +                                      fill: rgb(18%,80%,25%,100%), +                                      inset: 0.0pt), +                                 rect(body: text(body: [aaa]), +                                      fill: rgb(86%,86%,86%,100%), +                                      inset: 0.0pt)), +                      column-gutter: 1.0fr, +                      columns: (auto, auto, 40%), +                      row-gutter: 1.0fr), +                 parbreak() })
+ test/typ/layout/grid-1-02.out view
@@ -0,0 +1,99 @@+--- parse tree ---+[ Code+    "typ/layout/grid-1-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-1-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-1-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/grid-1-02.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 3.0 Cm))+       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))+       ])+, SoftBreak+, Code+    "typ/layout/grid-1-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns") (Array [ Reg (Literal (Numeric 1.0 Fr)) ])+       , KeyValArg+           (Identifier "rows")+           (Array+              [ Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal Auto)+              , Reg (Literal (Numeric 2.0 Fr))+              ])+       , NormalArg (Block (Content []))+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "center"))+              , BlockArg+                  [ Text "A"+                  , Space+                  , Text "bit"+                  , Space+                  , Text "more"+                  , Space+                  , Text "to"+                  , Space+                  , Text "the"+                  , Space+                  , Text "top"+                  ]+              ])+       , NormalArg (Block (Content []))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: ({  }, +                                 align(alignment: center, +                                       body: text(body: [A bit more to the top])), +                                 {  }), +                      columns: (1.0fr), +                      rows: (1.0fr, auto, 2.0fr)), +                 parbreak() })
+ test/typ/layout/grid-2-00.out view
@@ -0,0 +1,165 @@+--- parse tree ---+[ Code+    "typ/layout/grid-2-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-2-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-2-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/grid-2-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 11.0 Cm))+       , KeyValArg (Identifier "height") (Literal (Numeric 2.5 Cm))+       ])+, SoftBreak+, Code+    "typ/layout/grid-2-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg (Identifier "columns") (Literal (Int 5))+       , KeyValArg+           (Identifier "column-gutter")+           (Array+              [ Reg (Literal (Numeric 2.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              ])+       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 6.0 Pt))+       , NormalArg (Block (Content [ Strong [ Text "Quarter" ] ]))+       , NormalArg (Block (Content [ Text "Expenditure" ]))+       , NormalArg+           (Block (Content [ Text "External" , Space , Text "Revenue" ]))+       , NormalArg+           (Block (Content [ Text "Financial" , Space , Text "ROI" ]))+       , NormalArg (Block (Content [ Emph [ Text "total" ] ]))+       , NormalArg (Block (Content [ Strong [ Text "Q1" ] ]))+       , NormalArg+           (Block+              (Content+                 [ Text "173,472" , Text "." , Text "57" , Space , Text "$" ]))+       , NormalArg+           (Block+              (Content+                 [ Text "472,860" , Text "." , Text "91" , Space , Text "$" ]))+       , NormalArg+           (Block+              (Content+                 [ Text "51,286" , Text "." , Text "84" , Space , Text "$" ]))+       , NormalArg+           (Block+              (Content+                 [ Emph [ Text "350,675" , Text "." , Text "18" , Space , Text "$" ]+                 ]))+       , NormalArg (Block (Content [ Strong [ Text "Q2" ] ]))+       , NormalArg+           (Block+              (Content+                 [ Text "93,382" , Text "." , Text "12" , Space , Text "$" ]))+       , NormalArg+           (Block+              (Content+                 [ Text "439,382" , Text "." , Text "85" , Space , Text "$" ]))+       , NormalArg+           (Block+              (Content+                 [ Text "-"+                 , Text "1,134"+                 , Text "."+                 , Text "30"+                 , Space+                 , Text "$"+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Emph [ Text "344,866" , Text "." , Text "43" , Space , Text "$" ]+                 ]))+       , NormalArg (Block (Content [ Strong [ Text "Q3" ] ]))+       , NormalArg+           (Block+              (Content+                 [ Text "96,421" , Text "." , Text "49" , Space , Text "$" ]))+       , NormalArg+           (Block+              (Content+                 [ Text "238,583" , Text "." , Text "54" , Space , Text "$" ]))+       , NormalArg+           (Block+              (Content+                 [ Text "3,497" , Text "." , Text "12" , Space , Text "$" ]))+       , NormalArg+           (Block+              (Content+                 [ Emph [ Text "145,659" , Text "." , Text "17" , Space , Text "$" ]+                 ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: (strong(body: text(body: [Quarter])), +                                 text(body: [Expenditure]), +                                 text(body: [External Revenue]), +                                 text(body: [Financial ROI]), +                                 emph(body: text(body: [total])), +                                 strong(body: text(body: [Q1])), +                                 text(body: [173,472.57 $]), +                                 text(body: [472,860.91 $]), +                                 text(body: [51,286.84 $]), +                                 emph(body: text(body: [350,675.18 $])), +                                 strong(body: text(body: [Q2])), +                                 text(body: [93,382.12 $]), +                                 text(body: [439,382.85 $]), +                                 text(body: [-1,134.30 $]), +                                 emph(body: text(body: [344,866.43 $])), +                                 strong(body: text(body: [Q3])), +                                 text(body: [96,421.49 $]), +                                 text(body: [238,583.54 $]), +                                 text(body: [3,497.12 $]), +                                 emph(body: text(body: [145,659.17 $]))), +                      column-gutter: (2.0fr, +                                      1.0fr, +                                      1.0fr), +                      columns: 5, +                      row-gutter: 6.0pt), +                 parbreak() })
+ test/typ/layout/grid-3-00.out view
@@ -0,0 +1,130 @@+--- parse tree ---+[ Code+    "typ/layout/grid-3-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-3-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-3-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/grid-3-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Cm))+       , KeyValArg (Identifier "height") (Literal (Numeric 3.0 Cm))+       ])+, SoftBreak+, Code+    "typ/layout/grid-3-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg (Identifier "columns") (Literal (Int 2))+       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 8.0 Pt))+       , NormalArg+           (Block+              (Content+                 [ Text "Lorem"+                 , Space+                 , Text "ipsum"+                 , Space+                 , Text "dolor"+                 , Space+                 , Text "sit"+                 , Space+                 , Text "amet"+                 , Text "."+                 , ParBreak+                 , Text "Aenean"+                 , Space+                 , Text "commodo"+                 , Space+                 , Text "ligula"+                 , Space+                 , Text "eget"+                 , Space+                 , Text "dolor"+                 , Text "."+                 , Space+                 , Text "Aenean"+                 , Space+                 , Text "massa"+                 , Text "."+                 , Space+                 , Text "Penatibus"+                 , Space+                 , Text "et"+                 , Space+                 , Text "magnis"+                 , Text "."+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Text "Text"+                 , Space+                 , Text "that"+                 , Space+                 , Text "is"+                 , Space+                 , Text "rather"+                 , Space+                 , Text "short"+                 ]))+       , NormalArg (Block (Content [ Text "Fireflies" ]))+       , NormalArg (Block (Content [ Text "Critical" ]))+       , NormalArg (Block (Content [ Text "Decorum" ]))+       , NormalArg (Block (Content [ Text "Rampage" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: ({ text(body: [Lorem ipsum dolor sit amet.]), +                                   parbreak(), +                                   text(body: [Aenean commodo ligula eget dolor. Aenean massa. Penatibus et magnis.]) }, +                                 text(body: [Text that is rather short]), +                                 text(body: [Fireflies]), +                                 text(body: [Critical]), +                                 text(body: [Decorum]), +                                 text(body: [Rampage])), +                      columns: 2, +                      row-gutter: 8.0pt), +                 parbreak() })
+ test/typ/layout/grid-3-01.out view
@@ -0,0 +1,136 @@+--- parse tree ---+[ Code+    "typ/layout/grid-3-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-3-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-3-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/grid-3-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Cm))+       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))+       ])+, SoftBreak+, Code+    "typ/layout/grid-3-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Times+              (Literal (Int 4)) (Array [ Reg (Literal (Numeric 1.0 Fr)) ]))+       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 10.0 Pt))+       , KeyValArg+           (Identifier "column-gutter")+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 10.0 Percent))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "top"))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "image"))+                     [ NormalArg (Literal (String "/assets/files/rhino.png")) ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "top"))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))+                     , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+                     , NormalArg+                         (FuncCall+                            (Ident (Identifier "align"))+                            [ NormalArg (Ident (Identifier "right"))+                            , BlockArg [ Text "LoL" ]+                            ])+                     ])+              ])+       , NormalArg (Block (Content [ Text "rofl" ]))+       , NormalArg+           (Times+              (Block (Content [ HardBreak , Text "A" ])) (Literal (Int 3)))+       , NormalArg+           (Times+              (Block (Content [ Text "Ha!" , HardBreak ])) (Literal (Int 3)))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: (align(alignment: top, +                                       body: image(path: "/assets/files/rhino.png")), +                                 align(alignment: top, +                                       body: rect(body: align(alignment: right, +                                                              body: text(body: [LoL])), +                                                  fill: rgb(13%,61%,67%,100%), +                                                  inset: 0.0pt)), +                                 text(body: [rofl]), +                                 { linebreak(), +                                   text(body: [A]), +                                   linebreak(), +                                   text(body: [A]), +                                   linebreak(), +                                   text(body: [A]) }, +                                 { text(body: [Ha!]), +                                   linebreak(), +                                   text(body: [Ha!]), +                                   linebreak(), +                                   text(body: [Ha!]), +                                   linebreak() }), +                      column-gutter: (0.0pt, 10%), +                      columns: (1.0fr, +                                1.0fr, +                                1.0fr, +                                1.0fr), +                      row-gutter: 10.0pt), +                 parbreak() })
+ test/typ/layout/grid-3-02.out view
@@ -0,0 +1,119 @@+--- parse tree ---+[ Code+    "typ/layout/grid-3-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-3-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-3-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/grid-3-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Cm))+       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))+       ])+, SoftBreak+, Code+    "typ/layout/grid-3-02.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Times+              (Literal (Int 3)) (Array [ Reg (Literal (Numeric 1.0 Fr)) ]))+       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 8.0 Pt))+       , KeyValArg+           (Identifier "column-gutter")+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 10.0 Percent))+              ])+       , NormalArg (Block (Content [ Text "A" ]))+       , NormalArg (Block (Content [ Text "B" ]))+       , NormalArg (Block (Content [ Text "C" ]))+       , NormalArg+           (Times+              (Block (Content [ Text "Ha!" , HardBreak ])) (Literal (Int 6)))+       , NormalArg (Block (Content [ Text "rofl" ]))+       , NormalArg+           (Times+              (Block (Content [ HardBreak , Text "A" ])) (Literal (Int 3)))+       , NormalArg (Block (Content [ Text "hello" ]))+       , NormalArg (Block (Content [ Text "darkness" ]))+       , NormalArg (Block (Content [ Text "my" , Space , Text "old" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: (text(body: [A]), +                                 text(body: [B]), +                                 text(body: [C]), +                                 { text(body: [Ha!]), +                                   linebreak(), +                                   text(body: [Ha!]), +                                   linebreak(), +                                   text(body: [Ha!]), +                                   linebreak(), +                                   text(body: [Ha!]), +                                   linebreak(), +                                   text(body: [Ha!]), +                                   linebreak(), +                                   text(body: [Ha!]), +                                   linebreak() }, +                                 text(body: [rofl]), +                                 { linebreak(), +                                   text(body: [A]), +                                   linebreak(), +                                   text(body: [A]), +                                   linebreak(), +                                   text(body: [A]) }, +                                 text(body: [hello]), +                                 text(body: [darkness]), +                                 text(body: [my old])), +                      column-gutter: (0.0pt, 10%), +                      columns: (1.0fr, +                                1.0fr, +                                1.0fr), +                      row-gutter: 8.0pt), +                 parbreak() })
+ test/typ/layout/grid-3-03.out view
@@ -0,0 +1,146 @@+--- parse tree ---+[ Code+    "typ/layout/grid-3-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-3-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-3-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/grid-3-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 5.0 Cm))+       , KeyValArg (Identifier "height") (Literal (Numeric 2.25 Cm))+       ])+, SoftBreak+, Code+    "typ/layout/grid-3-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Times+              (Literal (Int 4)) (Array [ Reg (Literal (Numeric 1.0 Fr)) ]))+       , KeyValArg (Identifier "row-gutter") (Literal (Numeric 10.0 Pt))+       , KeyValArg+           (Identifier "column-gutter")+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 10.0 Percent))+              ])+       , NormalArg (Block (Content [ Text "A" ]))+       , NormalArg (Block (Content [ Text "B" ]))+       , NormalArg (Block (Content [ Text "C" ]))+       , NormalArg (Block (Content [ Text "D" ]))+       , NormalArg+           (FuncCall+              (Ident (Identifier "grid"))+              [ KeyValArg (Identifier "columns") (Literal (Int 2))+              , NormalArg (Block (Content [ Text "A" ]))+              , NormalArg (Block (Content [ Text "B" ]))+              , NormalArg+                  (Times+                     (Block (Content [ Text "C" , HardBreak ])) (Literal (Int 3)))+              , NormalArg (Block (Content [ Text "D" ]))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "top"))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))+                     , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+                     , NormalArg+                         (FuncCall+                            (Ident (Identifier "align"))+                            [ NormalArg (Ident (Identifier "right"))+                            , BlockArg [ Text "LoL" ]+                            ])+                     ])+              ])+       , NormalArg (Block (Content [ Text "rofl" ]))+       , NormalArg+           (Times+              (Block (Content [ Text "E" , HardBreak ])) (Literal (Int 4)))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: (text(body: [A]), +                                 text(body: [B]), +                                 text(body: [C]), +                                 text(body: [D]), +                                 grid(children: (text(body: [A]), +                                                 text(body: [B]), +                                                 { text(body: [C]), +                                                   linebreak(), +                                                   text(body: [C]), +                                                   linebreak(), +                                                   text(body: [C]), +                                                   linebreak() }, +                                                 text(body: [D])), +                                      columns: 2), +                                 align(alignment: top, +                                       body: rect(body: align(alignment: right, +                                                              body: text(body: [LoL])), +                                                  fill: rgb(13%,61%,67%,100%), +                                                  inset: 0.0pt)), +                                 text(body: [rofl]), +                                 { text(body: [E]), +                                   linebreak(), +                                   text(body: [E]), +                                   linebreak(), +                                   text(body: [E]), +                                   linebreak(), +                                   text(body: [E]), +                                   linebreak() }), +                      column-gutter: (0.0pt, 10%), +                      columns: (1.0fr, +                                1.0fr, +                                1.0fr, +                                1.0fr), +                      row-gutter: 10.0pt), +                 parbreak() })
+ test/typ/layout/grid-4-00.out view
@@ -0,0 +1,93 @@+--- parse tree ---+[ Code+    "typ/layout/grid-4-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-4-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-4-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/grid-4-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Array+              [ Reg (Literal Auto) , Reg (Literal (Numeric 60.0 Percent)) ])+       , KeyValArg+           (Identifier "rows")+           (Array [ Reg (Literal Auto) , Reg (Literal Auto) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 0.5 Cm))+              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 0.5 Cm))+              , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 0.5 Cm))+              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 grid(children: (rect(fill: rgb(18%,80%,25%,100%), +                                      height: 0.5cm, +                                      width: 50%), +                                 rect(fill: rgb(13%,61%,67%,100%), +                                      height: 0.5cm, +                                      width: 100%), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      height: 0.5cm, +                                      width: 50%)), +                      columns: (auto, 60%), +                      rows: (auto, auto)), +                 parbreak() })
+ test/typ/layout/grid-4-01.out view
@@ -0,0 +1,97 @@+--- parse tree ---+[ Code+    "typ/layout/grid-4-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-4-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-4-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/grid-4-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Times+              (Array [ Reg (Literal (Numeric 1.0 Fr)) ]) (Literal (Int 4)))+       , KeyValArg+           (Identifier "rows") (Array [ Reg (Literal (Numeric 1.0 Cm)) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 grid(children: (rect(fill: rgb(18%,80%,25%,100%), +                                      width: 50%), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      width: 50%), +                                 rect(fill: rgb(18%,80%,25%,100%), +                                      width: 50%), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      width: 50%)), +                      columns: (1.0fr, +                                1.0fr, +                                1.0fr, +                                1.0fr), +                      rows: (1.0cm)), +                 parbreak() })
+ test/typ/layout/grid-4-02.out view
@@ -0,0 +1,117 @@+--- parse tree ---+[ Code+    "typ/layout/grid-4-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-4-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-4-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/grid-4-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 4.0 Cm))+       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Cm))+       ])+, SoftBreak+, Code+    "typ/layout/grid-4-02.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "rows")+           (Array+              [ Reg (Literal (Numeric 1.0 Cm))+              , Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal Auto)+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "height") (Literal (Numeric 25.0 Percent))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: (rect(fill: rgb(18%,80%,25%,100%), +                                      height: 50%, +                                      width: 100%), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      height: 50%, +                                      width: 100%), +                                 rect(fill: rgb(18%,80%,25%,100%), +                                      height: 50%, +                                      width: 100%), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      height: 25%, +                                      width: 100%)), +                      rows: (1.0cm, +                             1.0fr, +                             1.0fr, +                             auto)), +                 parbreak() })
+ test/typ/layout/grid-5-00.out view
@@ -0,0 +1,88 @@+--- parse tree ---+[ Code+    "typ/layout/grid-5-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-5-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-5-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/grid-5-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm)) ])+, SoftBreak+, Code+    "typ/layout/grid-5-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ BlockArg+           [ SoftBreak+           , Text "Hello"+           , Space+           , HardBreak+           , Text "Hello"+           , Space+           , HardBreak+           , Text "Hello"+           , Space+           , HardBreak+           , SoftBreak+           , Text "World"+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: ({ text(body: [+Hello ]), +                                   linebreak(), +                                   text(body: [Hello ]), +                                   linebreak(), +                                   text(body: [Hello ]), +                                   linebreak(), +                                   text(body: [+World]), +                                   parbreak() })), +                 parbreak() })
+ test/typ/layout/grid-5-01.out view
@@ -0,0 +1,128 @@+--- parse tree ---+[ Code+    "typ/layout/grid-5-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-5-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-5-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/grid-5-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 2.25 Cm)) ])+, SoftBreak+, Code+    "typ/layout/grid-5-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg (Identifier "columns") (Literal (Int 2))+       , KeyValArg (Identifier "gutter") (Literal (Numeric 10.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "bottom"))+              , BlockArg [ Text "A" ]+              ])+       , NormalArg+           (Block+              (Content+                 [ SoftBreak+                 , Text "Top"+                 , SoftBreak+                 , Code+                     "typ/layout/grid-5-01.typ"+                     ( line 10 , column 6 )+                     (FuncCall+                        (Ident (Identifier "align"))+                        [ NormalArg (Ident (Identifier "bottom"))+                        , BlockArg+                            [ SoftBreak+                            , Text "Bottom"+                            , Space+                            , HardBreak+                            , Text "Bottom"+                            , Space+                            , HardBreak+                            , Code+                                "typ/layout/grid-5-01.typ"+                                ( line 13 , column 8 )+                                (FuncCall+                                   (Ident (Identifier "v"))+                                   [ NormalArg (Literal (Numeric 0.0 Pt)) ])+                            , SoftBreak+                            , Text "Top"+                            , ParBreak+                            ]+                        ])+                 , ParBreak+                 ]))+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "top")) , BlockArg [ Text "B" ] ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: (align(alignment: bottom, +                                       body: text(body: [A])), +                                 { text(body: [+Top+]), +                                   align(alignment: bottom, +                                         body: { text(body: [+Bottom ]), +                                                 linebreak(), +                                                 text(body: [Bottom ]), +                                                 linebreak(), +                                                 v(amount: 0.0pt), +                                                 text(body: [+Top]), +                                                 parbreak() }), +                                   parbreak() }, +                                 align(alignment: top, +                                       body: text(body: [B]))), +                      columns: 2, +                      gutter: 10.0pt), +                 parbreak() })
+ test/typ/layout/grid-auto-shrink-00.out view
@@ -0,0 +1,139 @@+--- parse tree ---+[ Code+    "typ/layout/grid-auto-shrink-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-auto-shrink-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-auto-shrink-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/grid-auto-shrink-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg+           (Identifier "width")+           (Plus+              (Minus+                 (Literal (Numeric 210.0 Mm))+                 (Times (Literal (Int 2)) (Literal (Numeric 2.5 Cm))))+              (Times (Literal (Int 2)) (Literal (Numeric 10.0 Pt))))+       ])+, SoftBreak+, Code+    "typ/layout/grid-auto-shrink-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 11.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/grid-auto-shrink-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg (Identifier "columns") (Literal (Int 4))+       , NormalArg (Block (Content [ Text "Hello!" ]))+       , NormalArg+           (Block+              (Content+                 [ Text "Hello"+                 , Space+                 , Text "there,"+                 , Space+                 , Text "my"+                 , Space+                 , Text "friend!"+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Text "Hello"+                 , Space+                 , Text "there,"+                 , Space+                 , Text "my"+                 , Space+                 , Text "friends!"+                 , Space+                 , Text "Hi!"+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Text "Hello"+                 , Space+                 , Text "there,"+                 , Space+                 , Text "my"+                 , Space+                 , Text "friends!"+                 , Space+                 , Text "Hi!"+                 , Space+                 , Text "What"+                 , Space+                 , Text "is"+                 , Space+                 , Text "going"+                 , Space+                 , Text "on"+                 , Space+                 , Text "right"+                 , Space+                 , Text "now?"+                 ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      size: 11.0pt), +                 table(children: (text(body: [Hello!], +                                       size: 11.0pt), +                                  text(body: [Hello there, my friend!], +                                       size: 11.0pt), +                                  text(body: [Hello there, my friends! Hi!], +                                       size: 11.0pt), +                                  text(body: [Hello there, my friends! Hi! What is going on right now?], +                                       size: 11.0pt)), +                       columns: 4), +                 parbreak() })
+ test/typ/layout/grid-rtl-00.out view
@@ -0,0 +1,63 @@+--- parse tree ---+[ Code+    "typ/layout/grid-rtl-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-rtl-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-rtl-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/grid-rtl-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])+, SoftBreak+, BulletListItem+    [ Text "\1502\1497\1502\1497\1503"+    , Space+    , Text "\1500\1513\1502\1488\1500"+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], dir: rtl), +                 list(children: ({ text(body: [מימין לשמאל], +                                        dir: rtl), +                                   parbreak() })) })
+ test/typ/layout/grid-rtl-01.out view
@@ -0,0 +1,76 @@+--- parse tree ---+[ Code+    "typ/layout/grid-rtl-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/grid-rtl-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/grid-rtl-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/grid-rtl-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])+, SoftBreak+, Code+    "typ/layout/grid-rtl-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg (Identifier "columns") (Literal (Int 2))+       , BlockArg [ Text "A" ]+       , BlockArg [ Text "B" ]+       , BlockArg [ Text "C" ]+       , BlockArg [ Text "D" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], dir: rtl), +                 table(children: (text(body: [A], +                                       dir: rtl), +                                  text(body: [B], +                                       dir: rtl), +                                  text(body: [C], +                                       dir: rtl), +                                  text(body: [D], +                                       dir: rtl)), +                       columns: 2), +                 parbreak() })
+ test/typ/layout/hide-00.out view
@@ -0,0 +1,83 @@+--- parse tree ---+[ Code+    "typ/layout/hide-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/hide-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/hide-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Text "AB"+, Space+, Code+    "typ/layout/hide-00.typ"+    ( line 2 , column 5 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, Space+, Text "CD"+, Space+, HardBreak+, Code+    "typ/layout/hide-00.typ"+    ( line 3 , column 2 )+    (FuncCall (Ident (Identifier "hide")) [ BlockArg [ Text "A" ] ])+, Text "B"+, Space+, Code+    "typ/layout/hide-00.typ"+    ( line 3 , column 12 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, Space+, Text "C"+, Code+    "typ/layout/hide-00.typ"+    ( line 3 , column 21 )+    (FuncCall (Ident (Identifier "hide")) [ BlockArg [ Text "D" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+AB ]), +                 h(amount: 1.0fr), +                 text(body: [ CD ]), +                 linebreak(), +                 hide(body: text(body: [A])), +                 text(body: [B ]), +                 h(amount: 1.0fr), +                 text(body: [ C]), +                 hide(body: text(body: [D])), +                 parbreak() })
+ test/typ/layout/list-00.out view
@@ -0,0 +1,64 @@+--- parse tree ---+[ Code+    "typ/layout/list-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Emph [ Text "Shopping" , Space , Text "list" ]+, SoftBreak+, Code+    "typ/layout/list-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "list"))+       [ BlockArg [ Text "Apples" ]+       , BlockArg [ Text "Potatoes" ]+       , BlockArg [ Text "Juice" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 emph(body: text(body: [Shopping list])), +                 text(body: [+]), +                 list(children: (text(body: [Apples]), +                                 text(body: [Potatoes]), +                                 text(body: [Juice]))), +                 parbreak() })
+ test/typ/layout/list-01.out view
@@ -0,0 +1,115 @@+--- parse tree ---+[ Code+    "typ/layout/list-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, BulletListItem+    [ Text "First"+    , Space+    , Text "level"+    , Text "."+    , ParBreak+    , BulletListItem+        [ Text "Second"+        , Space+        , Text "level"+        , Text "."+        , SoftBreak+        , Text "There"+        , Space+        , Text "are"+        , Space+        , Text "multiple"+        , Space+        , Text "paragraphs"+        , Text "."+        , ParBreak+        , BulletListItem+            [ Text "Third" , Space , Text "level" , Text "." , SoftBreak ]+        , SoftBreak+        , Text "Still"+        , Space+        , Text "the"+        , Space+        , Text "same"+        , Space+        , Text "bullet"+        , Space+        , Text "point"+        , Text "."+        , SoftBreak+        ]+    , SoftBreak+    , BulletListItem+        [ Text "Still"+        , Space+        , Text "level"+        , Space+        , Text "2"+        , Text "."+        , SoftBreak+        ]+    ]+, SoftBreak+, BulletListItem+    [ Text "At"+    , Space+    , Text "the"+    , Space+    , Text "top"+    , Text "."+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 list(children: ({ text(body: [First level.]), +                                   parbreak(), +                                   list(children: ({ text(body: [Second level.+There are multiple paragraphs.]), +                                                     parbreak(), +                                                     list(children: (text(body: [Third level.+]))), +                                                     text(body: [Still the same bullet point.+]) }, +                                                   text(body: [Still level 2.+]))) }, +                                 { text(body: [At the top.]), +                                   parbreak() })) })
+ test/typ/layout/list-02.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/layout/list-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, BulletListItem+    [ Text "Level"+    , Space+    , Text "1"+    , SoftBreak+    , BulletListItem+        [ Text "Level"+        , Space+        , Code+            "typ/layout/list-02.typ"+            ( line 3 , column 12 )+            (Block+               (Content+                  [ SoftBreak+                  , Text "2"+                  , Space+                  , Text "through"+                  , Space+                  , Text "content"+                  , Space+                  , Text "block"+                  , ParBreak+                  ]))+        , ParBreak+        ]+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 list(children: ({ text(body: [Level 1+]), +                                   list(children: ({ text(body: [Level ]), +                                                     text(body: [+2 through content block]), +                                                     parbreak(), +                                                     parbreak() })) })) })
+ test/typ/layout/list-03.out view
@@ -0,0 +1,53 @@+--- parse tree ---+[ Code+    "typ/layout/list-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, BulletListItem+    [ Text "Top" , Text "-" , Text "level" , Space , Text "indent" ]+, SoftBreak+, BulletListItem+    [ Text "is" , Space , Text "fine" , Text "." , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 list(children: (text(body: [Top-level indent]), +                                 { text(body: [is fine.]), +                                   parbreak() })) })
+ test/typ/layout/list-04.out view
@@ -0,0 +1,60 @@+--- parse tree ---+[ Code+    "typ/layout/list-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, BulletListItem+    [ Text "A"+    , SoftBreak+    , BulletListItem [ Text "B" ]+    , SoftBreak+    , BulletListItem [ Text "C" ]+    ]+, SoftBreak+, BulletListItem [ Text "D" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 list(children: ({ text(body: [A+]), +                                   list(children: (text(body: [B]), +                                                   text(body: [C]))) }, +                                 { text(body: [D]), +                                   parbreak() })) })
+ test/typ/layout/list-05.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/layout/list-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Space+, Text "-"+, Space+, Text "A"+, Space+, Text "with"+, Space+, Text "1"+, Space+, Text "tab"+, SoftBreak+, BulletListItem+    [ Text "B"+    , Space+    , Text "with"+    , Space+    , Text "2"+    , Space+    , Text "tabs"+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [ - A with 1 tab+]), +                 list(children: ({ text(body: [B with 2 tabs]), +                                   parbreak() })) })
+ test/typ/layout/list-06.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/layout/list-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Space+, Text "-"+, Space+, Text "A"+, Space+, Text "with"+, Space+, Text "2"+, Space+, Text "spaces"+, SoftBreak+, BulletListItem+    [ Text "B"+    , Space+    , Text "with"+    , Space+    , Text "2"+    , Space+    , Text "tabs"+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [ - A with 2 spaces+]), +                 list(children: ({ text(body: [B with 2 tabs]), +                                   parbreak() })) })
+ test/typ/layout/list-07.out view
@@ -0,0 +1,61 @@+--- parse tree ---+[ Code+    "typ/layout/list-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, BulletListItem []+, SoftBreak+, Text "Not"+, Space+, Text "in"+, Space+, Text "list"+, SoftBreak+, Text "-"+, Text "Nope"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 list(children: ({  })), +                 text(body: [Not in list+-Nope]), +                 parbreak() })
+ test/typ/layout/list-08.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/layout/list-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/list-08.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "horizon")) ])+, ParBreak+, BulletListItem+    [ Text "ABCDEF"+    , HardBreak+    , Text "GHIJKL"+    , HardBreak+    , Text "MNOPQR"+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 list(children: ({ text(body: [ABCDEF]), +                                   linebreak(), +                                   text(body: [GHIJKL]), +                                   linebreak(), +                                   text(body: [MNOPQR]), +                                   parbreak() })) })
+ test/typ/layout/list-attach-00.out view
@@ -0,0 +1,74 @@+--- parse tree ---+[ Code+    "typ/layout/list-attach-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-attach-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-attach-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Attached"+, Space+, Text "to"+, Text ":"+, SoftBreak+, BulletListItem [ Text "the" , Space , Text "bottom" ]+, SoftBreak+, BulletListItem+    [ Text "of"+    , Space+    , Text "the"+    , Space+    , Text "paragraph"+    , SoftBreak+    ]+, SoftBreak+, Text "Next"+, Space+, Text "paragraph"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Attached to:+]), +                 list(children: (text(body: [the bottom]), +                                 text(body: [of the paragraph+]))), +                 text(body: [Next paragraph.]), +                 parbreak() })
+ test/typ/layout/list-attach-01.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/layout/list-attach-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-attach-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-attach-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/list-attach-01.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "list")))+       (Set+          (Ident (Identifier "block"))+          [ KeyValArg (Identifier "above") (Literal (Numeric 100.0 Pt)) ]))+, SoftBreak+, Text "Hello"+, SoftBreak+, BulletListItem [ Text "A" ]+, SoftBreak+, Text "World"+, SoftBreak+, BulletListItem [ Text "B" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Hello+]), +                 list(children: (text(body: [A]))), +                 text(body: [World+]), +                 list(children: ({ text(body: [B]), +                                   parbreak() })) })
+ test/typ/layout/list-attach-02.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/layout/list-attach-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-attach-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-attach-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Text "Hello"+, ParBreak+, BulletListItem [ Text "A" , SoftBreak ]+, SoftBreak+, Text "World"+, SoftBreak+, BulletListItem [ Text "B" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Hello]), +                 parbreak(), +                 list(children: (text(body: [A+]))), +                 text(body: [World+]), +                 list(children: ({ text(body: [B]), +                                   parbreak() })) })
+ test/typ/layout/list-attach-03.out view
@@ -0,0 +1,77 @@+--- parse tree ---+[ Code+    "typ/layout/list-attach-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-attach-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-attach-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/list-attach-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 15.0 Pt)) ])+, SoftBreak+, Text "Hello"+, SoftBreak+, BulletListItem [ Text "A" ]+, SoftBreak+, Text "World"+, ParBreak+, BulletListItem [ Text "B" ]+, SoftBreak+, BulletListItem [ Text "C" , SoftBreak ]+, SoftBreak+, Text "More"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Hello+]), +                 list(children: (text(body: [A]))), +                 text(body: [World]), +                 parbreak(), +                 list(children: (text(body: [B]), +                                 text(body: [C+]))), +                 text(body: [More.]), +                 parbreak() })
+ test/typ/layout/list-attach-04.out view
@@ -0,0 +1,69 @@+--- parse tree ---+[ Code+    "typ/layout/list-attach-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-attach-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-attach-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/list-attach-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 15.0 Pt)) ])+, SoftBreak+, Text "Hello"+, SoftBreak+, BulletListItem [ Text "A" , SoftBreak ]+, SoftBreak+, BulletListItem [ Text "B" ]+, SoftBreak+, Text "World"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Hello+]), +                 list(children: (text(body: [A+]), +                                 text(body: [B]))), +                 text(body: [World]), +                 parbreak() })
+ test/typ/layout/list-attach-05.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/layout/list-attach-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-attach-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-attach-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Hello"+, SoftBreak+, Code+    "typ/layout/list-attach-05.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "list"))+       [ KeyValArg (Identifier "tight") (Literal (Boolean False))+       , BlockArg [ Text "A" ]+       , BlockArg [ Text "B" ]+       ])+, SoftBreak+, Text "World"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Hello+]), +                 list(children: (text(body: [A]), +                                 text(body: [B])), +                      tight: false), +                 text(body: [+World]), +                 parbreak() })
+ test/typ/layout/list-marker-00.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/layout/list-marker-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-marker-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-marker-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/list-marker-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "list"))+       [ KeyValArg (Identifier "marker") (Block (Content [ EnDash ])) ])+, SoftBreak+, BulletListItem [ Text "A" ]+, SoftBreak+, BulletListItem [ Text "B" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 list(children: (text(body: [A]), +                                 { text(body: [B]), +                                   parbreak() }), +                      marker: text(body: [–])) })
+ test/typ/layout/list-marker-01.out view
@@ -0,0 +1,79 @@+--- parse tree ---+[ Code+    "typ/layout/list-marker-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-marker-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-marker-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/list-marker-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "list"))+       [ KeyValArg+           (Identifier "marker")+           (Array+              [ Reg (Block (Content [ EnDash ]))+              , Reg (Block (Content [ Text "\8226" ]))+              ])+       ])+, SoftBreak+, BulletListItem+    [ Text "A"+    , SoftBreak+    , BulletListItem+        [ Text "B" , SoftBreak , BulletListItem [ Text "C" , ParBreak ] ]+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 list(children: ({ text(body: [A+]), +                                   list(children: ({ text(body: [B+]), +                                                     list(children: ({ text(body: [C]), +                                                                       parbreak() }), +                                                          marker: (text(body: [–]), +                                                                   text(body: [•]))) }), +                                        marker: (text(body: [–]), +                                                 text(body: [•]))) }), +                      marker: (text(body: [–]), +                               text(body: [•]))) })
+ test/typ/layout/list-marker-02.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/layout/list-marker-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-marker-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-marker-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/list-marker-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "list"))+       [ KeyValArg+           (Identifier "marker")+           (FuncExpr+              [ NormalParam (Identifier "n") ]+              (If+                 [ ( Equals (Ident (Identifier "n")) (Literal (Int 1))+                   , Block (Content [ EnDash ])+                   )+                 , ( Literal (Boolean True) , Block (Content [ Text "\8226" ]) )+                 ]))+       ])+, SoftBreak+, BulletListItem [ Text "A" ]+, SoftBreak+, BulletListItem+    [ Text "B"+    , SoftBreak+    , BulletListItem [ Text "C" ]+    , SoftBreak+    , BulletListItem+        [ Text "D" , SoftBreak , BulletListItem [ Text "E" ] ]+    ]+, SoftBreak+, BulletListItem [ Text "F" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 list(children: (text(body: [A]), +                                 { text(body: [B+]), +                                   list(children: (text(body: [C]), +                                                   { text(body: [D+]), +                                                     list(children: (text(body: [E])), +                                                          marker: ) }), +                                        marker: ) }, +                                 { text(body: [F]), +                                   parbreak() }), +                      marker: ) })
+ test/typ/layout/list-marker-03.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/layout/list-marker-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/list-marker-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/list-marker-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/list-marker-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "list"))+       [ KeyValArg+           (Identifier "marker") (Block (Content [ BulletListItem [] ]))+       ])+, SoftBreak+, BulletListItem+    [ Text "Bare" , Space , Text "hyphen" , Space , Text "is" ]+, SoftBreak+, BulletListItem+    [ Text "a"+    , Space+    , Text "bad"+    , Space+    , Text "marker"+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 list(children: (text(body: [Bare hyphen is]), +                                 { text(body: [a bad marker]), +                                   parbreak() }), +                      marker: list(children: ({  }))) })
+ test/typ/layout/list-marker-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/pad-00.out view
@@ -0,0 +1,124 @@+--- parse tree ---+[ Code+    "typ/layout/pad-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/pad-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/pad-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/pad-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "pad"))+       [ KeyValArg (Identifier "left") (Literal (Numeric 10.0 Pt))+       , NormalArg (Block (Content [ Text "Indented!" ]))+       ])+, ParBreak+, Comment+, Code+    "typ/layout/pad-00.typ"+    ( line 6 , column 2 )+    (Set+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/pad-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "pad"))+              [ NormalArg (Literal (Numeric 10.0 Pt))+              , KeyValArg (Identifier "right") (Literal (Numeric 20.0 Pt))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))+                     , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))+                     , KeyValArg+                         (Identifier "fill")+                         (FuncCall+                            (Ident (Identifier "rgb"))+                            [ NormalArg (Literal (String "eb5278")) ])+                     ])+              ])+       ])+, ParBreak+, Text "Hi"+, Space+, Code+    "typ/layout/pad-00.typ"+    ( line 13 , column 5 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "pad"))+              [ KeyValArg (Identifier "left") (Literal (Numeric 10.0 Pt))+              , BlockArg [ Text "A" ]+              ])+       ])+, Space+, Text "there"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 pad(body: text(body: [Indented!]), +                     left: 10.0pt), +                 parbreak(), +                 text(body: [+]), +                 rect(body: pad(body: rect(fill: rgb(92%,32%,47%,100%), +                                           height: 20.0pt, +                                           inset: 0.0pt, +                                           width: 20.0pt), +                                rest: 10.0pt, +                                right: 20.0pt), +                      fill: rgb(18%,80%,25%,100%), +                      inset: 0.0pt), +                 parbreak(), +                 text(body: [Hi ]), +                 box(body: pad(body: text(body: [A]), +                               left: 10.0pt)), +                 text(body: [ there]), +                 parbreak() })
+ test/typ/layout/pad-01.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/layout/pad-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/pad-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/pad-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/pad-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "pad"))+       [ KeyValArg (Identifier "left") (Literal (Numeric 10.0 Pt))+       , KeyValArg (Identifier "right") (Literal (Numeric 10.0 Pt))+       , BlockArg+           [ Text "PL"+           , Space+           , Code+               "typ/layout/pad-01.typ"+               ( line 3 , column 35 )+               (FuncCall+                  (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+           , Space+           , Text "PR"+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 pad(body: { text(body: [PL ]), +                             h(amount: 1.0fr), +                             text(body: [ PR]) }, +                     left: 10.0pt, +                     right: 10.0pt), +                 parbreak() })
+ test/typ/layout/pad-02.out view
@@ -0,0 +1,96 @@+--- parse tree ---+[ Code+    "typ/layout/pad-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/pad-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/pad-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/pad-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 6.0 Cm)) ])+, SoftBreak+, Code+    "typ/layout/pad-02.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "left"))+       , BlockArg [ Text "Before" ]+       ])+, SoftBreak+, Code+    "typ/layout/pad-02.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "pad"))+       [ NormalArg (Literal (Numeric 10.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg")) ])+       ])+, SoftBreak+, Code+    "typ/layout/pad-02.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "right"))+       , BlockArg [ Text "After" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 align(alignment: left, +                       body: text(body: [Before])), +                 text(body: [+]), +                 pad(body: image(path: "/assets/files/tiger.jpg"), +                     rest: 10.0pt), +                 text(body: [+]), +                 align(alignment: right, +                       body: text(body: [After])), +                 parbreak() })
+ test/typ/layout/pad-03.out view
@@ -0,0 +1,55 @@+--- parse tree ---+[ Code+    "typ/layout/pad-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/pad-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/pad-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/pad-03.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "pad"))+       [ NormalArg (Literal (Numeric 50.0 Percent)) , BlockArg [] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 pad(body: {  }, rest: 50%), +                 parbreak() })
+ test/typ/layout/page-00.out view
@@ -0,0 +1,54 @@+--- parse tree ---+[ Code+    "typ/layout/page-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/page-00.typ"+    ( line 4 , column 2 )+    (FuncCall (Ident (Identifier "page")) [ BlockArg [] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 page(body: {  }), +                 parbreak() })
+ test/typ/layout/page-01.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/layout/page-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/page-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "page"))+       [ NormalArg (Literal (String "a11"))+       , KeyValArg (Identifier "flipped") (Literal (Boolean True))+       , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       , BlockArg []+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 page(body: [a11], +                      fill: rgb(18%,80%,25%,100%), +                      flipped: true), +                 parbreak() })
+ test/typ/layout/page-02.out view
@@ -0,0 +1,112 @@+--- parse tree ---+[ Code+    "typ/layout/page-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/page-02.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt))+       ])+, SoftBreak+, Code+    "typ/layout/page-02.typ"+    ( line 5 , column 2 )+    (Block+       (Content+          [ Code+              "typ/layout/page-02.typ"+              ( line 5 , column 4 )+              (Set+                 (Ident (Identifier "page"))+                 [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt)) ])+          , Text "High"+          ]))+, SoftBreak+, Code+    "typ/layout/page-02.typ"+    ( line 6 , column 2 )+    (Block+       (Content+          [ Code+              "typ/layout/page-02.typ"+              ( line 6 , column 4 )+              (Set+                 (Ident (Identifier "page"))+                 [ KeyValArg (Identifier "height") (Literal (Numeric 40.0 Pt)) ])+          , Text "Wide"+          ]))+, ParBreak+, Comment+, Code+    "typ/layout/page-02.typ"+    ( line 9 , column 2 )+    (Block+       (Content+          [ Code+              "typ/layout/page-02.typ"+              ( line 9 , column 4 )+              (Set+                 (Ident (Identifier "page"))+                 [ KeyValArg (Identifier "paper") (Literal (String "a11"))+                 , KeyValArg (Identifier "flipped") (Literal (Boolean True))+                 ])+          , Text "Flipped"+          , Space+          , Text "A11"+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [High]), +                 text(body: [+]), +                 text(body: [Wide]), +                 parbreak(), +                 text(body: [Flipped A11]), +                 parbreak() })
+ test/typ/layout/page-03.out view
@@ -0,0 +1,100 @@+--- parse tree ---+[ Code+    "typ/layout/page-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/page-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 40.0 Pt))+       , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+       ])+, SoftBreak+, Code+    "typ/layout/page-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 15.0 Pt))+       , KeyValArg (Identifier "font") (Literal (String "Roboto"))+       , KeyValArg (Identifier "fill") (Ident (Identifier "white"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "smallcaps")) [ BlockArg [ Text "Typst" ] ])+       ])+, SoftBreak+, Code+    "typ/layout/page-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt))+       , KeyValArg (Identifier "fill") (Literal None)+       , KeyValArg+           (Identifier "margin")+           (Dict+              [ Reg ( Ident (Identifier "top") , Literal (Numeric 10.0 Pt) )+              , Reg ( Ident (Identifier "rest") , Literal Auto )+              ])+       , BlockArg [ Text "Hi" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: smallcaps(body: text(body: [Typst])), +                      fill: rgb(100%,100%,100%,100%), +                      font: "Roboto", +                      size: 15.0pt), +                 text(body: [+]), +                 page(body: text(body: [Hi]), +                      fill: none, +                      height: 40.0pt, +                      margin: (top: 10.0pt,+                               rest: auto), +                      width: 40.0pt), +                 parbreak() })
+ test/typ/layout/page-04.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/layout/page-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/page-04.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "page"))+       [ NormalArg (Literal (String "a11"))+       , KeyValArg (Identifier "flipped") (Literal (Boolean True))+       , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , BlockArg []+       ])+, SoftBreak+, Code+    "typ/layout/page-04.typ"+    ( line 5 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 page(body: [a11], +                      fill: rgb(100%,25%,21%,100%), +                      flipped: true), +                 text(body: [+]), +                 pagebreak(), +                 parbreak() })
+ test/typ/layout/page-05.out view
@@ -0,0 +1,121 @@+--- parse tree ---+[ Code+    "typ/layout/page-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/layout/page-05.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt))+       , NormalArg+           (Block+              (CodeBlock+                 [ FuncCall+                     (Ident (Identifier "layout"))+                     [ NormalArg+                         (FuncExpr+                            [ NormalParam (Identifier "size") ]+                            (Block+                               (Content+                                  [ Text "This"+                                  , Space+                                  , Text "page"+                                  , Space+                                  , Text "has"+                                  , Space+                                  , Text "a"+                                  , Space+                                  , Text "width"+                                  , Space+                                  , Text "of"+                                  , Space+                                  , Code+                                      "typ/layout/page-05.typ"+                                      ( line 5 , column 45 )+                                      (FieldAccess+                                         (Ident (Identifier "width")) (Ident (Identifier "size")))+                                  , Space+                                  , Text "and"+                                  , Space+                                  , Text "height"+                                  , Space+                                  , Text "of"+                                  , Space+                                  , Code+                                      "typ/layout/page-05.typ"+                                      ( line 5 , column 71 )+                                      (FieldAccess+                                         (Ident (Identifier "height")) (Ident (Identifier "size")))+                                  , Space+                                  ])))+                     ]+                 , FuncCall+                     (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Em)) ]+                 , FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg (Ident (Identifier "left"))+                     , NormalArg+                         (FuncCall+                            (Ident (Identifier "rect"))+                            [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))+                            , KeyValArg (Identifier "stroke") (Ident (Identifier "blue"))+                            ])+                     ]+                 ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 page(body: { layout(func: ), +                              h(amount: 1.0em), +                              place(alignment: left, +                                    body: rect(stroke: rgb(0%,45%,85%,100%), +                                               width: 80.0pt)) }, +                      height: 100.0pt, +                      width: 100.0pt), +                 parbreak() })
+ test/typ/layout/page-margin-00.out view
@@ -0,0 +1,95 @@+--- parse tree ---+[ Code+    "typ/layout/page-margin-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-margin-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-margin-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/page-margin-00.typ"+    ( line 3 , column 2 )+    (Block+       (Content+          [ SoftBreak+          , Code+              "typ/layout/page-margin-00.typ"+              ( line 4 , column 4 )+              (Set+                 (Ident (Identifier "page"))+                 [ KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))+                 , KeyValArg (Identifier "margin") (Literal (Numeric 5.0 Pt))+                 ])+          , SoftBreak+          , Code+              "typ/layout/page-margin-00.typ"+              ( line 5 , column 4 )+              (FuncCall+                 (Ident (Identifier "place"))+                 [ NormalArg+                     (Plus (Ident (Identifier "top")) (Ident (Identifier "left")))+                 , BlockArg [ Text "TL" ]+                 ])+          , SoftBreak+          , Code+              "typ/layout/page-margin-00.typ"+              ( line 6 , column 4 )+              (FuncCall+                 (Ident (Identifier "place"))+                 [ NormalArg+                     (Plus (Ident (Identifier "bottom")) (Ident (Identifier "right")))+                 , BlockArg [ Text "BR" ]+                 ])+          , ParBreak+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 place(alignment: Axes(left, top), +                       body: text(body: [TL])), +                 text(body: [+]), +                 place(alignment: Axes(right, bottom), +                       body: text(body: [BR])), +                 parbreak(), +                 parbreak() })
+ test/typ/layout/page-margin-01.out view
@@ -0,0 +1,200 @@+--- parse tree ---+[ Code+    "typ/layout/page-margin-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-margin-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-margin-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/page-margin-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 40.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/page-margin-01.typ"+    ( line 4 , column 2 )+    (Block+       (Content+          [ Code+              "typ/layout/page-margin-01.typ"+              ( line 4 , column 4 )+              (Set+                 (Ident (Identifier "page"))+                 [ KeyValArg+                     (Identifier "margin")+                     (Dict+                        [ Reg ( Ident (Identifier "left") , Literal (Numeric 0.0 Pt) ) ])+                 ])+          , Space+          , Code+              "typ/layout/page-margin-01.typ"+              ( line 4 , column 36 )+              (FuncCall+                 (Ident (Identifier "align"))+                 [ NormalArg (Ident (Identifier "left"))+                 , BlockArg [ Text "Left" ]+                 ])+          ]))+, SoftBreak+, Code+    "typ/layout/page-margin-01.typ"+    ( line 5 , column 2 )+    (Block+       (Content+          [ Code+              "typ/layout/page-margin-01.typ"+              ( line 5 , column 4 )+              (Set+                 (Ident (Identifier "page"))+                 [ KeyValArg+                     (Identifier "margin")+                     (Dict+                        [ Reg ( Ident (Identifier "right") , Literal (Numeric 0.0 Pt) ) ])+                 ])+          , Space+          , Code+              "typ/layout/page-margin-01.typ"+              ( line 5 , column 37 )+              (FuncCall+                 (Ident (Identifier "align"))+                 [ NormalArg (Ident (Identifier "right"))+                 , BlockArg [ Text "Right" ]+                 ])+          ]))+, SoftBreak+, Code+    "typ/layout/page-margin-01.typ"+    ( line 6 , column 2 )+    (Block+       (Content+          [ Code+              "typ/layout/page-margin-01.typ"+              ( line 6 , column 4 )+              (Set+                 (Ident (Identifier "page"))+                 [ KeyValArg+                     (Identifier "margin")+                     (Dict+                        [ Reg ( Ident (Identifier "top") , Literal (Numeric 0.0 Pt) ) ])+                 ])+          , Space+          , Code+              "typ/layout/page-margin-01.typ"+              ( line 6 , column 35 )+              (FuncCall+                 (Ident (Identifier "align"))+                 [ NormalArg (Ident (Identifier "top")) , BlockArg [ Text "Top" ] ])+          ]))+, SoftBreak+, Code+    "typ/layout/page-margin-01.typ"+    ( line 7 , column 2 )+    (Block+       (Content+          [ Code+              "typ/layout/page-margin-01.typ"+              ( line 7 , column 4 )+              (Set+                 (Ident (Identifier "page"))+                 [ KeyValArg+                     (Identifier "margin")+                     (Dict+                        [ Reg ( Ident (Identifier "bottom") , Literal (Numeric 0.0 Pt) ) ])+                 ])+          , Space+          , Code+              "typ/layout/page-margin-01.typ"+              ( line 7 , column 38 )+              (FuncCall+                 (Ident (Identifier "align"))+                 [ NormalArg (Ident (Identifier "bottom"))+                 , BlockArg [ Text "Bottom" ]+                 ])+          ]))+, ParBreak+, Comment+, Code+    "typ/layout/page-margin-01.typ"+    ( line 10 , column 2 )+    (Block+       (Content+          [ Code+              "typ/layout/page-margin-01.typ"+              ( line 10 , column 4 )+              (Set+                 (Ident (Identifier "page"))+                 [ KeyValArg+                     (Identifier "margin")+                     (Dict+                        [ Reg ( Ident (Identifier "rest") , Literal (Numeric 0.0 Pt) )+                        , Reg ( Ident (Identifier "left") , Literal (Numeric 20.0 Pt) )+                        ])+                 ])+          , Space+          , Text "Overridden"+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [ ]), +                 align(alignment: left, +                       body: text(body: [Left])), +                 text(body: [+]), +                 text(body: [ ]), +                 align(alignment: right, +                       body: text(body: [Right])), +                 text(body: [+]), +                 text(body: [ ]), +                 align(alignment: top, +                       body: text(body: [Top])), +                 text(body: [+]), +                 text(body: [ ]), +                 align(alignment: bottom, +                       body: text(body: [Bottom])), +                 parbreak(), +                 text(body: [ Overridden]), +                 parbreak() })
+ test/typ/layout/page-marginals-00.out view
@@ -0,0 +1,372 @@+--- parse tree ---+[ Code+    "typ/layout/page-marginals-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-marginals-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-marginals-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/page-marginals-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "paper") (Literal (String "a8"))+       , KeyValArg+           (Identifier "margin")+           (Dict+              [ Reg ( Ident (Identifier "x") , Literal (Numeric 15.0 Pt) )+              , Reg ( Ident (Identifier "y") , Literal (Numeric 30.0 Pt) )+              ])+       , KeyValArg+           (Identifier "header")+           (Block+              (CodeBlock+                 [ FuncCall+                     (Ident (Identifier "text"))+                     [ NormalArg (Ident (Identifier "eastern"))+                     , BlockArg [ Strong [ Text "Typst" ] ]+                     ]+                 , FuncCall+                     (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ]+                 , FuncCall+                     (Ident (Identifier "text"))+                     [ NormalArg (Literal (Numeric 0.8 Em))+                     , BlockArg [ Emph [ Text "Chapter" , Space , Text "1" ] ]+                     ]+                 ]))+       , KeyValArg+           (Identifier "footer")+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "center"))+              , BlockArg+                  [ Text "~"+                  , Space+                  , Code+                      "typ/layout/page-marginals-00.typ"+                      ( line 10 , column 29 )+                      (FuncCall+                         (FieldAccess+                            (Ident (Identifier "display"))+                            (FuncCall+                               (Ident (Identifier "counter"))+                               [ NormalArg (Ident (Identifier "page")) ]))+                         [])+                  , Space+                  , Text "~"+                  ]+              ])+       , KeyValArg+           (Identifier "background")+           (FuncCall+              (FieldAccess+                 (Ident (Identifier "display"))+                 (FuncCall+                    (Ident (Identifier "counter"))+                    [ NormalArg (Ident (Identifier "page")) ]))+              [ NormalArg+                  (FuncExpr+                     [ NormalParam (Identifier "n") ]+                     (If+                        [ ( LessThanOrEqual (Ident (Identifier "n")) (Literal (Int 2))+                          , Block+                              (CodeBlock+                                 [ FuncCall+                                     (Ident (Identifier "place"))+                                     [ NormalArg+                                         (Plus+                                            (Ident (Identifier "center"))+                                            (Ident (Identifier "horizon")))+                                     , NormalArg+                                         (FuncCall+                                            (Ident (Identifier "circle"))+                                            [ KeyValArg+                                                (Identifier "radius") (Literal (Numeric 1.0 Cm))+                                            , KeyValArg+                                                (Identifier "fill")+                                                (FuncCall+                                                   (Ident (Identifier "luma"))+                                                   [ NormalArg (Literal (Numeric 90.0 Percent)) ])+                                            ])+                                     ]+                                 ])+                          )+                        ]))+              ])+       ])+, ParBreak+, Text "But,"+, Space+, Text "soft!"+, Space+, Text "what"+, Space+, Text "light"+, Space+, Text "through"+, Space+, Text "yonder"+, Space+, Text "window"+, Space+, Text "breaks?"+, Space+, Text "It"+, Space+, Text "is"+, Space+, Text "the"+, Space+, Text "east,"+, Space+, Text "and"+, Space+, Text "Juliet"+, SoftBreak+, Text "is"+, Space+, Text "the"+, Space+, Text "sun"+, Text "."+, Space+, Text "Arise,"+, Space+, Text "fair"+, Space+, Text "sun,"+, Space+, Text "and"+, Space+, Text "kill"+, Space+, Text "the"+, Space+, Text "envious"+, Space+, Text "moon,"+, Space+, Text "Who"+, Space+, Text "is"+, Space+, Text "already"+, Space+, Text "sick"+, Space+, Text "and"+, SoftBreak+, Text "pale"+, Space+, Text "with"+, Space+, Text "grief,"+, Space+, Text "That"+, Space+, Text "thou"+, Space+, Text "her"+, Space+, Text "maid"+, Space+, Text "art"+, Space+, Text "far"+, Space+, Text "more"+, Space+, Text "fair"+, Space+, Text "than"+, Space+, Text "she"+, Text ":"+, Space+, Text "Be"+, Space+, Text "not"+, Space+, Text "her"+, Space+, Text "maid,"+, SoftBreak+, Text "since"+, Space+, Text "she"+, Space+, Text "is"+, Space+, Text "envious;"+, Space+, Text "Her"+, Space+, Text "vestal"+, Space+, Text "livery"+, Space+, Text "is"+, Space+, Text "but"+, Space+, Text "sick"+, Space+, Text "and"+, Space+, Text "green"+, Space+, Text "And"+, Space+, Text "none"+, Space+, Text "but"+, Space+, Text "fools"+, SoftBreak+, Text "do"+, Space+, Text "wear"+, Space+, Text "it;"+, Space+, Text "cast"+, Space+, Text "it"+, Space+, Text "off"+, Text "."+, Space+, Text "It"+, Space+, Text "is"+, Space+, Text "my"+, Space+, Text "lady,"+, Space+, Text "O,"+, Space+, Text "it"+, Space+, Text "is"+, Space+, Text "my"+, Space+, Text "love!"+, Space+, Text "O,"+, Space+, Text "that"+, Space+, Text "she"+, Space+, Text "knew"+, Space+, Text "she"+, SoftBreak+, Text "were!"+, Space+, Text "She"+, Space+, Text "speaks"+, Space+, Text "yet"+, Space+, Text "she"+, Space+, Text "says"+, Space+, Text "nothing"+, Text ":"+, Space+, Text "what"+, Space+, Text "of"+, Space+, Text "that?"+, Space+, Text "Her"+, Space+, Text "eye"+, Space+, Text "discourses;"+, Space+, Text "I"+, Space+, Text "will"+, SoftBreak+, Text "answer"+, Space+, Text "it"+, Text "."+, ParBreak+, Code+    "typ/layout/page-marginals-00.typ"+    ( line 24 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "header") (Literal None)+       , KeyValArg (Identifier "height") (Literal Auto)+       , KeyValArg+           (Identifier "margin")+           (Dict+              [ Reg ( Ident (Identifier "top") , Literal (Numeric 15.0 Pt) )+              , Reg ( Ident (Identifier "bottom") , Literal (Numeric 25.0 Pt) )+              ])+       ])+, SoftBreak+, Text "The"+, Space+, Text "END"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [But, soft! what light through yonder window breaks? It is the east, and Juliet+is the sun. Arise, fair sun, and kill the envious moon, Who is already sick and+pale with grief, That thou her maid art far more fair than she: Be not her maid,+since she is envious; Her vestal livery is but sick and green And none but fools+do wear it; cast it off. It is my lady, O, it is my love! O, that she knew she+were! She speaks yet she says nothing: what of that? Her eye discourses; I will+answer it.]), +                 parbreak(), +                 text(body: [+The END.]), +                 parbreak() })
+ test/typ/layout/page-style-00.out view
@@ -0,0 +1,58 @@+--- parse tree ---+[ Code+    "typ/layout/page-style-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-style-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-style-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/page-style-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ NormalArg (Literal (String "a11"))+       , KeyValArg (Identifier "flipped") (Literal (Boolean True))+       , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak() })
+ test/typ/layout/page-style-01.out view
@@ -0,0 +1,63 @@+--- parse tree ---+[ Code+    "typ/layout/page-style-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-style-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-style-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/page-style-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "red")) ])+, SoftBreak+, Code+    "typ/layout/page-style-01.typ"+    ( line 5 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 pagebreak(), +                 parbreak() })
+ test/typ/layout/page-style-02.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/layout/page-style-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-style-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-style-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/page-style-02.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page")) [ NormalArg (Literal (String "a4")) ])+, SoftBreak+, Code+    "typ/layout/page-style-02.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "page")) [ NormalArg (Literal (String "a5")) ])+, SoftBreak+, Code+    "typ/layout/page-style-02.typ"+    ( line 6 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))+       , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Cm))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak() })
+ test/typ/layout/page-style-03.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/layout/page-style-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/page-style-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/page-style-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/page-style-03.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page")) [ NormalArg (Literal (String "a4")) ])+, SoftBreak+, Code+    "typ/layout/page-style-03.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "page")) [ NormalArg (Literal (String "a5")) ])+, SoftBreak+, Code+    "typ/layout/page-style-03.typ"+    ( line 6 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ NormalArg (Literal (String "a11"))+       , KeyValArg (Identifier "flipped") (Literal (Boolean True))+       , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+       ])+, SoftBreak+, Code+    "typ/layout/page-style-03.typ"+    ( line 7 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "Roboto"))+       , NormalArg (Ident (Identifier "white"))+       ])+, SoftBreak+, Code+    "typ/layout/page-style-03.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "smallcaps")) [ BlockArg [ Text "Typst" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      color: rgb(100%,100%,100%,100%), +                      font: "Roboto"), +                 smallcaps(body: text(body: [Typst], +                                      color: rgb(100%,100%,100%,100%), +                                      font: "Roboto")), +                 parbreak() })
+ test/typ/layout/pagebreak-00.out view
@@ -0,0 +1,54 @@+--- parse tree ---+[ Code+    "typ/layout/pagebreak-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/pagebreak-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/pagebreak-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/pagebreak-00.typ"+    ( line 4 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 pagebreak(), +                 parbreak() })
+ test/typ/layout/pagebreak-01.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/layout/pagebreak-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/pagebreak-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/pagebreak-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/pagebreak-01.typ"+    ( line 4 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, SoftBreak+, Code+    "typ/layout/pagebreak-01.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Cm))+       , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       ])+, SoftBreak+, Code+    "typ/layout/pagebreak-01.typ"+    ( line 6 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 pagebreak(), +                 text(body: [+]), +                 text(body: [+]), +                 pagebreak(), +                 parbreak() })
+ test/typ/layout/pagebreak-02.out view
@@ -0,0 +1,91 @@+--- parse tree ---+[ Code+    "typ/layout/pagebreak-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/pagebreak-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/pagebreak-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/pagebreak-02.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "aqua")) ])+, SoftBreak+, Code+    "typ/layout/pagebreak-02.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "pagebreak"))+       [ KeyValArg (Identifier "weak") (Literal (Boolean True)) ])+, SoftBreak+, Text "First"+, SoftBreak+, Code+    "typ/layout/pagebreak-02.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "pagebreak"))+       [ KeyValArg (Identifier "weak") (Literal (Boolean True)) ])+, SoftBreak+, Text "Second"+, SoftBreak+, Code+    "typ/layout/pagebreak-02.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "pagebreak"))+       [ KeyValArg (Identifier "weak") (Literal (Boolean True)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 pagebreak(weak: true), +                 text(body: [+First+]), +                 pagebreak(weak: true), +                 text(body: [+Second+]), +                 pagebreak(weak: true), +                 parbreak() })
+ test/typ/layout/pagebreak-03.out view
@@ -0,0 +1,126 @@+--- parse tree ---+[ Code+    "typ/layout/pagebreak-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/pagebreak-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/pagebreak-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/pagebreak-03.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 30.0 Pt))+       ])+, SoftBreak+, Code+    "typ/layout/pagebreak-03.typ"+    ( line 5 , column 2 )+    (Block+       (Content+          [ Code+              "typ/layout/pagebreak-03.typ"+              ( line 5 , column 4 )+              (Set+                 (Ident (Identifier "page"))+                 [ KeyValArg (Identifier "width") (Literal (Numeric 60.0 Pt)) ])+          , Space+          , Text "First"+          ]))+, SoftBreak+, Code+    "typ/layout/pagebreak-03.typ"+    ( line 6 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, SoftBreak+, Code+    "typ/layout/pagebreak-03.typ"+    ( line 7 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, SoftBreak+, Text "Third"+, SoftBreak+, Code+    "typ/layout/pagebreak-03.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))+       , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , BlockArg []+       ])+, SoftBreak+, Text "Fif"+, Code+    "typ/layout/pagebreak-03.typ"+    ( line 10 , column 5 )+    (Block+       (Content+          [ Code+              "typ/layout/pagebreak-03.typ"+              ( line 10 , column 7 )+              (Set (Ident (Identifier "page")) [])+          , Text "th"+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [ First]), +                 text(body: [+]), +                 pagebreak(), +                 text(body: [+]), +                 pagebreak(), +                 text(body: [+Third+]), +                 page(body: {  }, +                      fill: rgb(100%,25%,21%,100%), +                      height: 20.0pt, +                      width: 60.0pt), +                 text(body: [+Fif]), +                 text(body: [th]), +                 parbreak() })
+ test/typ/layout/pagebreak-04.out view
@@ -0,0 +1,111 @@+--- parse tree ---+[ Code+    "typ/layout/pagebreak-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/pagebreak-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/pagebreak-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/pagebreak-04.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "navy")) ])+, SoftBreak+, Code+    "typ/layout/pagebreak-04.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "white")) ])+, SoftBreak+, Text "First"+, SoftBreak+, Code+    "typ/layout/pagebreak-04.typ"+    ( line 7 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, SoftBreak+, Code+    "typ/layout/pagebreak-04.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "page")) [ BlockArg [ Text "Second" ] ])+, SoftBreak+, Code+    "typ/layout/pagebreak-04.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "pagebreak"))+       [ KeyValArg (Identifier "weak") (Literal (Boolean True)) ])+, SoftBreak+, Code+    "typ/layout/pagebreak-04.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "page")) [ BlockArg [ Text "Third" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+First+], +                      fill: rgb(100%,100%,100%,100%)), +                 pagebreak(), +                 text(body: [+], +                      fill: rgb(100%,100%,100%,100%)), +                 page(body: text(body: [Second], +                                 fill: rgb(100%,100%,100%,100%)), +                      fill: rgb(0%,12%,24%,100%)), +                 text(body: [+], +                      fill: rgb(100%,100%,100%,100%)), +                 pagebreak(weak: true), +                 text(body: [+], +                      fill: rgb(100%,100%,100%,100%)), +                 page(body: text(body: [Third], +                                 fill: rgb(100%,100%,100%,100%)), +                      fill: rgb(0%,12%,24%,100%)), +                 parbreak() })
+ test/typ/layout/par-00.out view
@@ -0,0 +1,77 @@+--- parse tree ---+[ Code+    "typ/layout/par-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "right")) ])+, SoftBreak+, Text "To"+, Space+, Text "the"+, Space+, Text "right!"+, Space+, Text "Where"+, Space+, Text "the"+, Space+, Text "sunlight"+, Space+, Text "peeks"+, Space+, Text "behind"+, Space+, Text "the"+, Space+, Text "mountain"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+To the right! Where the sunlight peeks behind the mountain.]), +                 parbreak() })
+ test/typ/layout/par-01.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/layout/par-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Em)) ])+, SoftBreak+, Code+    "typ/layout/par-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "leading") (Literal (Numeric 2.0 Pt)) ])+, SoftBreak+, Text "But,"+, Space+, Text "soft!"+, Space+, Text "what"+, Space+, Text "light"+, Space+, Text "through"+, Space+, Text "yonder"+, Space+, Text "window"+, Space+, Text "breaks?"+, ParBreak+, Text "It"+, Space+, Text "is"+, Space+, Text "the"+, Space+, Text "east,"+, Space+, Text "and"+, Space+, Text "Juliet"+, Space+, Text "is"+, Space+, Text "the"+, Space+, Text "sun"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+But, soft! what light through yonder window breaks?]), +                 parbreak(), +                 text(body: [It is the east, and Juliet is the sun.]), +                 parbreak() })
+ test/typ/layout/par-02.out view
@@ -0,0 +1,105 @@+--- parse tree ---+[ Code+    "typ/layout/par-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/par-02.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 100.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/par-02.typ"+    ( line 5 , column 2 )+    (Show+       (Just (Ident (Identifier "table")))+       (Set+          (Ident (Identifier "block"))+          [ KeyValArg (Identifier "above") (Literal (Numeric 5.0 Pt))+          , KeyValArg (Identifier "below") (Literal (Numeric 5.0 Pt))+          ]))+, SoftBreak+, Text "Hello"+, SoftBreak+, Code+    "typ/layout/par-02.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg (Identifier "columns") (Literal (Int 4))+       , KeyValArg+           (Identifier "fill")+           (FuncExpr+              [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+              (If+                 [ ( FuncCall+                       (FieldAccess+                          (Ident (Identifier "odd")) (Ident (Identifier "calc")))+                       [ NormalArg+                           (Plus (Ident (Identifier "x")) (Ident (Identifier "y")))+                       ]+                   , Block (CodeBlock [ Ident (Identifier "silver") ])+                   )+                 ]))+       , BlockArg [ Text "A" ]+       , BlockArg [ Text "B" ]+       , BlockArg [ Text "C" ]+       , BlockArg [ Text "D" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+Hello+]), +                 table(children: (text(body: [A]), +                                  text(body: [B]), +                                  text(body: [C]), +                                  text(body: [D])), +                       columns: 4, +                       fill: ), +                 parbreak() })
+ test/typ/layout/par-03.out view
@@ -0,0 +1,90 @@+--- parse tree ---+[ Code+    "typ/layout/par-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 0.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/par-03.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Ident (Identifier "raw")))+       (Set+          (Ident (Identifier "block"))+          [ KeyValArg (Identifier "spacing") (Literal (Numeric 15.0 Pt)) ]))+, SoftBreak+, Code+    "typ/layout/par-03.typ"+    ( line 5 , column 2 )+    (Show+       (Just (Ident (Identifier "list")))+       (Set+          (Ident (Identifier "block"))+          [ KeyValArg (Identifier "spacing") (Literal (Numeric 2.5 Pt)) ]))+, ParBreak+, RawBlock "rust" "fn main() {}\n"+, ParBreak+, BulletListItem [ Text "List" , SoftBreak ]+, SoftBreak+, Text "Paragraph"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 raw(block: true, +                     lang: "rust", +                     text: "fn main() {}\n"), +                 parbreak(), +                 list(children: (text(body: [List+]))), +                 text(body: [Paragraph]), +                 parbreak() })
+ test/typ/layout/par-bidi-00.out view
@@ -0,0 +1,84 @@+--- parse tree ---+[ Code+    "typ/layout/par-bidi-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-bidi-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-bidi-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-bidi-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "content")))+       (FuncCall+          (Ident (Identifier "par"))+          [ BlockArg+              [ Text "Text" , Space , Text "\1496\1462\1511\1505\1496" ]+          ]))+, SoftBreak+, Code+    "typ/layout/par-bidi-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "he"))+       , NormalArg (Ident (Identifier "content"))+       ])+, SoftBreak+, Code+    "typ/layout/par-bidi-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "de"))+       , NormalArg (Ident (Identifier "content"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: par(body: text(body: [Text טֶקסט])), +                      lang: "he"), +                 text(body: [+]), +                 text(body: par(body: text(body: [Text טֶקסט])), +                      lang: "de"), +                 parbreak() })
+ test/typ/layout/par-bidi-01.out view
@@ -0,0 +1,120 @@+--- parse tree ---+[ Code+    "typ/layout/par-bidi-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-bidi-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-bidi-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/par-bidi-01.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "content")))+       (FuncCall+          (Ident (Identifier "par"))+          [ BlockArg+              [ Text "\1571\1606\1578"+              , Space+              , Text "A"+              , Code+                  "typ/layout/par-bidi-01.typ"+                  ( line 4 , column 26 )+                  (FuncCall (Ident (Identifier "emph")) [ BlockArg [ Text "B" ] ])+              , Text "\1605\1591\1585C"+              ]+          ]))+, SoftBreak+, Code+    "typ/layout/par-bidi-01.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font")+           (Array+              [ Reg (Literal (String "PT Sans"))+              , Reg (Literal (String "Noto Sans Arabic"))+              ])+       ])+, SoftBreak+, Code+    "typ/layout/par-bidi-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "ar"))+       , NormalArg (Ident (Identifier "content"))+       ])+, SoftBreak+, Code+    "typ/layout/par-bidi-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "de"))+       , NormalArg (Ident (Identifier "content"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      font: ("PT Sans", +                             "Noto Sans Arabic")), +                 text(body: par(body: { text(body: [أنت A]), +                                        emph(body: text(body: [B])), +                                        text(body: [مطرC]) }), +                      font: ("PT Sans", +                             "Noto Sans Arabic"), +                      lang: "ar"), +                 text(body: [+], +                      font: ("PT Sans", +                             "Noto Sans Arabic")), +                 text(body: par(body: { text(body: [أنت A]), +                                        emph(body: text(body: [B])), +                                        text(body: [مطرC]) }), +                      font: ("PT Sans", +                             "Noto Sans Arabic"), +                      lang: "de"), +                 parbreak() })
+ test/typ/layout/par-bidi-02.out view
@@ -0,0 +1,120 @@+--- parse tree ---+[ Code+    "typ/layout/par-bidi-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-bidi-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-bidi-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/par-bidi-02.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "content")))+       (FuncCall+          (Ident (Identifier "par"))+          [ BlockArg+              [ Text "A\1490\1462"+              , Code+                  "typ/layout/par-bidi-02.typ"+                  ( line 4 , column 24 )+                  (FuncCall+                     (Ident (Identifier "strong"))+                     [ BlockArg [ Text "\1513\1473\1462" ] ])+              , Text "\1501B"+              ]+          ]))+, SoftBreak+, Code+    "typ/layout/par-bidi-02.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font")+           (Array+              [ Reg (Literal (String "Linux Libertine"))+              , Reg (Literal (String "Noto Serif Hebrew"))+              ])+       ])+, SoftBreak+, Code+    "typ/layout/par-bidi-02.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "he"))+       , NormalArg (Ident (Identifier "content"))+       ])+, SoftBreak+, Code+    "typ/layout/par-bidi-02.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "de"))+       , NormalArg (Ident (Identifier "content"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      font: ("Linux Libertine", +                             "Noto Serif Hebrew")), +                 text(body: par(body: { text(body: [Aגֶ]), +                                        strong(body: text(body: [שֶׁ])), +                                        text(body: [םB]) }), +                      font: ("Linux Libertine", +                             "Noto Serif Hebrew"), +                      lang: "he"), +                 text(body: [+], +                      font: ("Linux Libertine", +                             "Noto Serif Hebrew")), +                 text(body: par(body: { text(body: [Aגֶ]), +                                        strong(body: text(body: [שֶׁ])), +                                        text(body: [םB]) }), +                      font: ("Linux Libertine", +                             "Noto Serif Hebrew"), +                      lang: "de"), +                 parbreak() })
+ test/typ/layout/par-bidi-03.out view
@@ -0,0 +1,65 @@+--- parse tree ---+[ Code+    "typ/layout/par-bidi-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-bidi-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-bidi-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-bidi-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])+, SoftBreak+, Text "\1488"+, Text "\8294"+, Text "A"+, Text "\8295"+, Text "B\1489"+, Text "\8297"+, Text "?"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+א⁦A⁧Bב⁩?], +                      dir: rtl), +                 parbreak() })
+ test/typ/layout/par-bidi-04.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/layout/par-bidi-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-bidi-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-bidi-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-bidi-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "ar"))+       , KeyValArg+           (Identifier "font")+           (Array+              [ Reg (Literal (String "Noto Sans Arabic"))+              , Reg (Literal (String "PT Sans"))+              ])+       ])+, SoftBreak+, Text "Life"+, Space+, Text "\1575\1604\1605\1591\1585"+, Space+, Text "\1607\1608"+, Space+, Text "\1575\1604\1581\1610\1575\1577"+, Space+, HardBreak+, Text "\1575\1604\1581\1610\1575\1577"+, Space+, Text "\1578\1605\1591\1585"+, Space+, Text "is"+, Space+, Text "rain"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Life المطر هو الحياة ], +                      font: ("Noto Sans Arabic", +                             "PT Sans"), +                      lang: "ar"), +                 linebreak(), +                 text(body: [الحياة تمطر is rain.], +                      font: ("Noto Sans Arabic", +                             "PT Sans"), +                      lang: "ar"), +                 parbreak() })
+ test/typ/layout/par-bidi-05.out view
@@ -0,0 +1,75 @@+--- parse tree ---+[ Code+    "typ/layout/par-bidi-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-bidi-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-bidi-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "L"+, Space+, Code+    "typ/layout/par-bidi-05.typ"+    ( line 3 , column 4 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Cm)) ])+, Space+, Text "\1512\1497\1493\1493\1495R"+, Space+, HardBreak+, Text "L\1512\1497\1493\1493\1495"+, Space+, Code+    "typ/layout/par-bidi-05.typ"+    ( line 4 , column 9 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Cm)) ])+, Space+, Text "R"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [L ]), +                 h(amount: 1.0cm), +                 text(body: [ ריווחR ]), +                 linebreak(), +                 text(body: [Lריווח ]), +                 h(amount: 1.0cm), +                 text(body: [ R]), +                 parbreak() })
+ test/typ/layout/par-bidi-06.out view
@@ -0,0 +1,76 @@+--- parse tree ---+[ Code+    "typ/layout/par-bidi-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-bidi-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-bidi-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-bidi-06.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "he")) ])+, SoftBreak+, Text "\1511\1512\1504\1508\1497\1501Rh"+, Code+    "typ/layout/par-bidi-06.typ"+    ( line 4 , column 10 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/rhino.png"))+              , KeyValArg (Identifier "height") (Literal (Numeric 11.0 Pt))+              ])+       ])+, Text "ino\1495\1497\1497\1501"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+קרנפיםRh], +                      lang: "he"), +                 box(body: image(height: 11.0pt, +                                 path: "/assets/files/rhino.png")), +                 text(body: [inoחיים], +                      lang: "he"), +                 parbreak() })
+ test/typ/layout/par-bidi-07.out view
@@ -0,0 +1,67 @@+--- parse tree ---+[ Code+    "typ/layout/par-bidi-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-bidi-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-bidi-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "\1575\1604\1594\1575\1604\1576"+, Space+, Code+    "typ/layout/par-bidi-07.typ"+    ( line 3 , column 9 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 70.0 Pt)) ])+, Space+, Text "\1606"+, Code+    "typ/layout/par-bidi-07.typ"+    ( line 3 , column 19 )+    (Literal (String " "))+, Text "\1577"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [الغالب ]), +                 h(amount: 70.0pt), +                 text(body: [ ن]), +                 text(body: [ ]), +                 text(body: [ة]), +                 parbreak() })
+ test/typ/layout/par-bidi-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/par-indent-00.out view
@@ -0,0 +1,265 @@+--- parse tree ---+[ Code+    "typ/layout/par-indent-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-indent-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-indent-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/par-indent-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg+           (Identifier "first-line-indent") (Literal (Numeric 12.0 Pt))+       , KeyValArg (Identifier "leading") (Literal (Numeric 5.0 Pt))+       ])+, SoftBreak+, Code+    "typ/layout/par-indent-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/par-indent-00.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Ident (Identifier "heading")))+       (Set+          (Ident (Identifier "text"))+          [ KeyValArg (Identifier "size") (Literal (Numeric 10.0 Pt)) ]))+, ParBreak+, Text "The"+, Space+, Text "first"+, Space+, Text "paragraph"+, Space+, Text "has"+, Space+, Text "no"+, Space+, Text "indent"+, Text "."+, ParBreak+, Text "But"+, Space+, Text "the"+, Space+, Text "second"+, Space+, Text "one"+, Space+, Text "does"+, Text "."+, ParBreak+, Code+    "typ/layout/par-indent-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))+              , KeyValArg (Identifier "height") (Literal (Numeric 6.0 Pt))+              ])+       ])+, SoftBreak+, Text "starts"+, Space+, Text "a"+, Space+, Text "paragraph,"+, Space+, Text "also"+, Space+, Text "with"+, Space+, Text "indent"+, Text "."+, ParBreak+, Code+    "typ/layout/par-indent-00.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/rhino.png"))+              , KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))+              ])+       ])+, ParBreak+, Heading 1 [ Text "Headings" ]+, BulletListItem [ Text "And" , Space , Text "lists" , Text "." ]+, SoftBreak+, BulletListItem+    [ Text "Have"+    , Space+    , Text "no"+    , Space+    , Text "indent"+    , Text "."+    , ParBreak+    , Text "Except"+    , Space+    , Text "if"+    , Space+    , Text "you"+    , Space+    , Text "have"+    , Space+    , Text "another"+    , Space+    , Text "paragraph"+    , Space+    , Text "in"+    , Space+    , Text "them"+    , Text "."+    , SoftBreak+    ]+, SoftBreak+, Code+    "typ/layout/par-indent-00.typ"+    ( line 21 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 8.0 Pt))+       , KeyValArg (Identifier "lang") (Literal (String "ar"))+       , KeyValArg+           (Identifier "font")+           (Array+              [ Reg (Literal (String "Noto Sans Arabic"))+              , Reg (Literal (String "Linux Libertine"))+              ])+       ])+, SoftBreak+, Code+    "typ/layout/par-indent-00.typ"+    ( line 22 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "leading") (Literal (Numeric 8.0 Pt)) ])+, ParBreak+, Heading 1 [ Text "Arabic" ]+, Text "\1583\1593"+, Space+, Text "\1575\1604\1606\1589"+, Space+, Text "\1610\1605\1591\1585"+, Space+, Text "\1593\1604\1610\1603"+, ParBreak+, Text "\1579\1605"+, Space+, Text "\1610\1589\1576\1581"+, Space+, Text "\1575\1604\1606\1589"+, Space+, Text "\1585\1591\1576\1611\1575"+, Space+, Text "\1608\1602\1575\1576\1604"+, Space+, Text "\1604\1604\1591\1585\1602"+, Space+, Text "\1608\1610\1576\1583\1608"+, Space+, Text "\1575\1604\1605\1587\1578\1606\1583"+, Space+, Text "\1585\1575\1574\1593\1611\1575"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [The first paragraph has no indent.]), +                 parbreak(), +                 text(body: [But the second one does.]), +                 parbreak(), +                 box(body: image(height: 6.0pt, +                                 path: "/assets/files/tiger.jpg")), +                 text(body: [+starts a paragraph, also with indent.]), +                 parbreak(), +                 align(alignment: center, +                       body: image(path: "/assets/files/rhino.png", +                                   width: 1.0cm)), +                 parbreak(), +                 heading(body: text(body: [Headings]), +                         level: 1), +                 list(children: (text(body: [And lists.]), +                                 { text(body: [Have no indent.]), +                                   parbreak(), +                                   text(body: [Except if you have another paragraph in them.+]) })), +                 text(body: [+], +                      font: ("Noto Sans Arabic", +                             "Linux Libertine"), +                      lang: "ar", +                      size: 8.0pt), +                 parbreak(), +                 heading(body: text(body: [Arabic], +                                    font: ("Noto Sans Arabic", +                                           "Linux Libertine"), +                                    lang: "ar", +                                    size: 8.0pt), +                         level: 1), +                 text(body: [دع النص يمطر عليك], +                      font: ("Noto Sans Arabic", +                             "Linux Libertine"), +                      lang: "ar", +                      size: 8.0pt), +                 parbreak(), +                 text(body: [ثم يصبح النص رطبًا وقابل للطرق ويبدو المستند رائعًا.], +                      font: ("Noto Sans Arabic", +                             "Linux Libertine"), +                      lang: "ar", +                      size: 8.0pt), +                 parbreak() })
+ test/typ/layout/par-indent-01.out view
@@ -0,0 +1,80 @@+--- parse tree ---+[ Code+    "typ/layout/par-indent-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-indent-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-indent-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-indent-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg+           (Identifier "first-line-indent") (Literal (Numeric 12.0 Pt))+       ])+, SoftBreak+, Text "Why"+, Space+, Text "would"+, Space+, Text "anybody"+, Space+, Text "ever"+, Space+, Ellipsis+, ParBreak+, Ellipsis+, Space+, Text "want"+, Space+, Text "spacing"+, Space+, Text "and"+, Space+, Text "indent?"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Why would anybody ever …]), +                 parbreak(), +                 text(body: [… want spacing and indent?]), +                 parbreak() })
+ test/typ/layout/par-indent-02.out view
@@ -0,0 +1,66 @@+--- parse tree ---+[ Code+    "typ/layout/par-indent-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-indent-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-indent-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-indent-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg+           (Identifier "hanging-indent") (Literal (Numeric 15.0 Pt))+       , KeyValArg (Identifier "justify") (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/layout/par-indent-02.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 10)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do]), +                 parbreak() })
+ test/typ/layout/par-indent-03.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/layout/par-indent-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-indent-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-indent-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/par-indent-03.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg+           (Identifier "hanging-indent") (Literal (Numeric 1.0 Em))+       ])+, SoftBreak+, Text "Welcome"+, Space+, HardBreak+, Text "here"+, Text "."+, Space+, Text "Does"+, Space+, Text "this"+, Space+, Text "work"+, Space+, Text "well?"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Welcome ]), +                 linebreak(), +                 text(body: [here. Does this work well?]), +                 parbreak() })
+ test/typ/layout/par-indent-04.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/layout/par-indent-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-indent-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-indent-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/par-indent-04.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg+           (Identifier "hanging-indent") (Literal (Numeric 2.0 Em))+       ])+, SoftBreak+, Code+    "typ/layout/par-indent-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])+, SoftBreak+, Text "\1604\1570\1606"+, Space+, Text "\1608\1602\1583"+, Space+, Text "\1571\1592\1604\1605"+, Space+, Text "\1575\1604\1604\1610\1604"+, Space+, Text "\1608\1576\1583\1571\1578"+, Space+, Text "\1575\1604\1606\1580\1608\1605"+, SoftBreak+, Text "\1578\1606\1590\1582"+, Space+, Text "\1608\1580\1607"+, Space+, Text "\1575\1604\1591\1576\1610\1593\1577"+, Space+, Text "\1575\1604\1578\1610"+, Space+, Text "\1571\1593\1618\1610\1614\1578\1618"+, Space+, Text "\1605\1606"+, Space+, Text "\1591\1608\1604"+, Space+, Text "\1605\1575"+, Space+, Text "\1575\1606\1576\1593\1579\1578"+, Space+, Text "\1601\1610"+, Space+, Text "\1575\1604\1606\1607\1575\1585"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+لآن وقد أظلم الليل وبدأت النجوم+تنضخ وجه الطبيعة التي أعْيَتْ من طول ما انبعثت في النهار], +                      dir: rtl), +                 parbreak() })
+ test/typ/layout/par-justify-00.out view
@@ -0,0 +1,148 @@+--- parse tree ---+[ Code+    "typ/layout/par-justify-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-justify-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-justify-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/par-justify-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/par-justify-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/par-justify-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True))+       , KeyValArg+           (Identifier "first-line-indent") (Literal (Numeric 14.0 Pt))+       , KeyValArg (Identifier "leading") (Literal (Numeric 5.0 Pt))+       ])+, ParBreak+, Text "This"+, Space+, Text "text"+, Space+, Text "is"+, Space+, Text "justified,"+, Space+, Text "meaning"+, Space+, Text "that"+, Space+, Text "spaces"+, Space+, Text "are"+, Space+, Text "stretched"+, Space+, Text "so"+, Space+, Text "that"+, Space+, Text "the"+, Space+, Text "text"+, SoftBreak+, Text "forms"+, Space+, Text "a"+, Space+, Quote '"'+, Text "block"+, Quote '"'+, Space+, Text "with"+, Space+, Text "flush"+, Space+, Text "edges"+, Space+, Text "at"+, Space+, Text "both"+, Space+, Text "sides"+, Text "."+, ParBreak+, Text "First"+, Space+, Text "line"+, Space+, Text "indents"+, Space+, Text "and"+, Space+, Text "hyphenation"+, Space+, Text "play"+, Space+, Text "nicely"+, Space+, Text "with"+, Space+, Text "justified"+, Space+, Text "text"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [This text is justified, meaning that spaces are stretched so that the text+forms a “block” with flush edges at both sides.]), +                 parbreak(), +                 text(body: [First line indents and hyphenation play nicely with justified text.]), +                 parbreak() })
+ test/typ/layout/par-justify-01.out view
@@ -0,0 +1,67 @@+--- parse tree ---+[ Code+    "typ/layout/par-justify-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-justify-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-justify-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-justify-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Text "A"+, Space+, Text "B"+, Space+, Text "C"+, Space+, HardBreak+, Text "D"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+A B C ]), +                 linebreak(), +                 text(body: [D]), +                 parbreak() })
+ test/typ/layout/par-justify-02.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/layout/par-justify-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-justify-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-justify-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Space+, Text "B"+, Space+, Text "C"+, Space+, Code+    "typ/layout/par-justify-02.typ"+    ( line 3 , column 8 )+    (FuncCall+       (Ident (Identifier "linebreak"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Text "D"+, Space+, Text "E"+, Space+, Text "F"+, Space+, Code+    "typ/layout/par-justify-02.typ"+    ( line 4 , column 8 )+    (FuncCall+       (Ident (Identifier "linebreak"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A B C ]), +                 linebreak(justify: true), +                 text(body: [+D E F ]), +                 linebreak(justify: true), +                 parbreak() })
+ test/typ/layout/par-justify-03.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/layout/par-justify-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-justify-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-justify-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/layout/par-justify-03.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Code+    "typ/layout/par-justify-03.typ"+    ( line 5 , column 2 )+    (Literal (String ""))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak() })
+ test/typ/layout/par-justify-04.out view
@@ -0,0 +1,82 @@+--- parse tree ---+[ Code+    "typ/layout/par-justify-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-justify-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-justify-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-justify-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 155.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/par-justify-04.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Text "This"+, Space+, Text "text"+, Space+, Text "can"+, Space+, Text "be"+, Space+, Text "fitted"+, Space+, Text "in"+, Space+, Text "one"+, Space+, Text "line"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+This text can be fitted in one line.]), +                 parbreak() })
+ test/typ/layout/par-justify-cjk-00.out view
@@ -0,0 +1,117 @@+--- parse tree ---+[ Code+    "typ/layout/par-justify-cjk-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-justify-cjk-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-justify-cjk-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Comment+, Comment+, Code+    "typ/layout/par-justify-cjk-00.typ"+    ( line 7 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto) ])+, SoftBreak+, Code+    "typ/layout/par-justify-cjk-00.typ"+    ( line 8 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Code+    "typ/layout/par-justify-cjk-00.typ"+    ( line 9 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font") (Literal (String "Noto Serif CJK SC"))+       , KeyValArg (Identifier "lang") (Literal (String "zh"))+       ])+, ParBreak+, Code+    "typ/layout/par-justify-cjk-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))+       , KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))+       , KeyValArg+           (Identifier "fill")+           (FuncCall+              (Ident (Identifier "rgb")) [ NormalArg (Literal (String "eee")) ])+       , BlockArg+           [ SoftBreak+           , Text+               "\20013\25991\32500\22522\30334\31185\20351\29992\27721\23383\20070\20889\65292\27721\23383\26159\27721\26063\25110\21326\20154\30340\20849\21516\25991\23383\65292\26159\20013\22269\22823\38470\12289\26032\21152\22369\12289\39532\26469\35199\20122\12289\21488\28286\12289\39321\28207\12289\28595\38376\30340\21807\19968\23448\26041\25991\23383\25110\23448\26041\25991\23383\20043\19968\12290\&25"+           , Text "."+           , Text+               "9%\65292\32780\32654\22269\21644\33655\20848\21017\20998\21029\21344\&13"+           , Text "."+           , Text "7%\21450\&8"+           , Text "."+           , Text+               "2%\12290\36817\24180\20358\65292\20013\22269\22823\38470\22320\21306\30340\32500\22522\30334\31185\32534\36753\32773\27491\22312\36805\36895\22686\21152\65307"+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 rect(body: { text(body: [+中文维基百科使用汉字书写,汉字是汉族或华人的共同文字,是中国大陆、新加坡、马来西亚、台湾、香港、澳门的唯一官方文字或官方文字之一。25.9%,而美国和荷兰则分別占13.7%及8.2%。近年來,中国大陆地区的维基百科编辑者正在迅速增加;], +                                   font: "Noto Serif CJK SC", +                                   lang: "zh"), +                              parbreak() }, +                      fill: rgb(5%,5%,5%,100%), +                      inset: 0.0pt, +                      width: 80.0pt), +                 parbreak() })
+ test/typ/layout/par-justify-cjk-01.out view
@@ -0,0 +1,121 @@+--- parse tree ---+[ Code+    "typ/layout/par-justify-cjk-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-justify-cjk-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-justify-cjk-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-justify-cjk-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto) ])+, SoftBreak+, Code+    "typ/layout/par-justify-cjk-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Code+    "typ/layout/par-justify-cjk-01.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "jp")) ])+, SoftBreak+, Code+    "typ/layout/par-justify-cjk-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))+       , KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))+       , KeyValArg+           (Identifier "fill")+           (FuncCall+              (Ident (Identifier "rgb")) [ NormalArg (Literal (String "eee")) ])+       , BlockArg+           [ SoftBreak+           , Text "\12454\12451\12461\12506\12487\12451\12450\65288\33521"+           , Text ":"+           , Space+           , Text+               "Wikipedia\65289\12399\12289\19990\30028\20013\12398\12508\12521\12531\12486\12451\12450\12398\20849\21516\20316\26989\12395\12424\12387\12390\22519\31558\21450\12403\20316\25104\12373\12428\12427\12501\12522\12540\12398\22810\35328\35486\12452\12531\12479\12540\12493\12483\12488\30334\31185\20107\20856\12391\12354\12427\12290\20027\12395\23492\20184\12395\20381\12387\12390\27963\21205\12375\12390\12356\12427\38750\21942\21033\22243\20307\12300\12454\12451\12461\12513\12487\12451\12450\36001\22243\12301\12364\25152\26377\12539\36939\21942\12375\12390\12356\12427\12290"+           , ParBreak+           , Text+               "\23554\38272\23478\12395\12424\12427\12458\12531\12521\12452\12531\30334\31185\20107\20856\12503\12525\12472\12455\12463\12488Nupedia\65288\12492\12540\12506\12487\12451\12450\65289\12434\21069\36523\12392\12375\12390\12289\&2001\24180\&1\26376\12289\12521\12522\12540\12539\12469\12531\12460\12540\12392\12472\12511\12540\12539\12454\12455\12540\12523\12474\65288\33521"+           , Text ":"+           , Space+           , Text "Jimmy"+           , Space+           , Text "Donal"+           , Space+           , Quote '"'+           , Text "Jimbo"+           , Quote '"'+           , Space+           , Text+               "Wales\65289\12395\12424\12426\33521\35486\12391\12503\12525\12472\12455\12463\12488\12364\38283\22987\12373\12428\12383\12290"+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+], lang: "jp"), +                 rect(body: { text(body: [+ウィキペディア(英: Wikipedia)は、世界中のボランティアの共同作業によって執筆及び作成されるフリーの多言語インターネット百科事典である。主に寄付に依って活動している非営利団体「ウィキメディア財団」が所有・運営している。], +                                   lang: "jp"), +                              parbreak(), +                              text(body: [専門家によるオンライン百科事典プロジェクトNupedia(ヌーペディア)を前身として、2001年1月、ラリー・サンガーとジミー・ウェールズ(英: Jimmy Donal “Jimbo” Wales)により英語でプロジェクトが開始された。], +                                   lang: "jp"), +                              parbreak() }, +                      fill: rgb(5%,5%,5%,100%), +                      inset: 0.0pt, +                      width: 80.0pt), +                 parbreak() })
+ test/typ/layout/par-justify-cjk-02.out view
@@ -0,0 +1,120 @@+--- parse tree ---+[ Code+    "typ/layout/par-justify-cjk-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-justify-cjk-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-justify-cjk-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/par-justify-cjk-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto) ])+, SoftBreak+, Code+    "typ/layout/par-justify-cjk-02.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "zh"))+       , KeyValArg+           (Identifier "font") (Literal (String "Noto Serif CJK SC"))+       ])+, SoftBreak+, Code+    "typ/layout/par-justify-cjk-02.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Code+    "typ/layout/par-justify-cjk-02.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))+       , KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt))+       , KeyValArg+           (Identifier "fill")+           (FuncCall+              (Ident (Identifier "rgb")) [ NormalArg (Literal (String "eee")) ])+       , BlockArg+           [ SoftBreak+           , Text "\8220\24341\21495\27979\35797\8221\65292\36824\65292"+           , ParBreak+           , Text+               "\12298\20070\21517\12299\12298\27979\35797\12299\19979\19968\34892"+           , ParBreak+           , Text "\12298\20070\21517\12299\12298\27979\35797\12299\12290"+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      font: "Noto Serif CJK SC", +                      lang: "zh"), +                 text(body: [+], +                      font: "Noto Serif CJK SC", +                      lang: "zh"), +                 rect(body: { text(body: [+“引号测试”,还,], +                                   font: "Noto Serif CJK SC", +                                   lang: "zh"), +                              parbreak(), +                              text(body: [《书名》《测试》下一行], +                                   font: "Noto Serif CJK SC", +                                   lang: "zh"), +                              parbreak(), +                              text(body: [《书名》《测试》。], +                                   font: "Noto Serif CJK SC", +                                   lang: "zh"), +                              parbreak() }, +                      fill: rgb(5%,5%,5%,100%), +                      inset: 0.0pt, +                      width: 80.0pt), +                 parbreak() })
+ test/typ/layout/par-justify-cjk-03.out view
@@ -0,0 +1,118 @@+--- parse tree ---+[ Code+    "typ/layout/par-justify-cjk-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-justify-cjk-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-justify-cjk-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/layout/par-justify-cjk-03.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg+           (Identifier "width")+           (Plus (Literal (Numeric 170.0 Pt)) (Literal (Numeric 10.0 Pt)))+       , KeyValArg+           (Identifier "margin")+           (Dict+              [ Reg ( Ident (Identifier "x") , Literal (Numeric 5.0 Pt) ) ])+       ])+, SoftBreak+, Code+    "typ/layout/par-justify-cjk-03.typ"+    ( line 6 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font") (Literal (String "Noto Serif CJK SC"))+       , KeyValArg (Identifier "lang") (Literal (String "zh"))+       ])+, SoftBreak+, Code+    "typ/layout/par-justify-cjk-03.typ"+    ( line 7 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, ParBreak+, Text+    "\23380\38592\26368\26089\35265\20110\12298\23665\28023\32463\12299\20013\30340\12298\28023\20869\32463\12299\65306"+, Text "\8203"+, Text+    "\8220\26377\23380\38592\12290\8221\19996\27721\26472\23386\33879\12298\24322\29289\24535\12299\35760\36733\65292\23725\21335\65306\8220\23380\38592\65292\20854\22823\22914\22823\38593\32780\36275\39640\65292\27611\30342\26377\26001\32441\24425\65292\25429\32780\33988\20043\65292\25293\25163\21363\33310\12290\8221"+, ParBreak+, Code+    "typ/layout/par-justify-cjk-03.typ"+    ( line 11 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font") (Literal (String "Noto Serif CJK TC"))+       , KeyValArg (Identifier "lang") (Literal (String "zh"))+       , KeyValArg (Identifier "region") (Literal (String "hk"))+       ])+, SoftBreak+, Text+    "\23380\38592\26368\26089\35265\20110\12298\23665\28023\32463\12299\20013\30340\12298\28023\20869\32463\12299\65306\12300\26377\23380\38592\12290\12301\19996\27721\26472\23386\33879\12298\24322\29289\24535\12299\35760\36733\65292\23725\21335\65306\12300\23380\38592\65292\20854\22823\22914\22823\38593\32780\36275\39640\65292\27611\30342\26377\26001\32441\24425\65292\25429\32780\33988\20043\65292\25293\25163\21363\33310\12290\12301"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      font: "Noto Serif CJK SC", +                      lang: "zh"), +                 parbreak(), +                 text(body: [孔雀最早见于《山海经》中的《海内经》:​“有孔雀。”东汉杨孚著《异物志》记载,岭南:“孔雀,其大如大雁而足高,毛皆有斑纹彩,捕而蓄之,拍手即舞。”], +                      font: "Noto Serif CJK SC", +                      lang: "zh"), +                 parbreak(), +                 text(body: [+孔雀最早见于《山海经》中的《海内经》:「有孔雀。」东汉杨孚著《异物志》记载,岭南:「孔雀,其大如大雁而足高,毛皆有斑纹彩,捕而蓄之,拍手即舞。」], +                      font: "Noto Serif CJK TC", +                      lang: "zh", +                      region: "hk"), +                 parbreak() })
+ test/typ/layout/par-knuth-00.out view
@@ -0,0 +1,518 @@+--- parse tree ---+[ Code+    "typ/layout/par-knuth-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-knuth-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-knuth-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/par-knuth-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto)+       , KeyValArg (Identifier "height") (Literal Auto)+       ])+, SoftBreak+, Code+    "typ/layout/par-knuth-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "leading") (Literal (Numeric 4.0 Pt))+       , KeyValArg (Identifier "justify") (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/layout/par-knuth-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font") (Literal (String "New Computer Modern"))+       ])+, ParBreak+, Code+    "typ/layout/par-knuth-00.typ"+    ( line 6 , column 2 )+    (Let+       (BasicBind (Just (Identifier "story")))+       (Block+          (Content+             [ SoftBreak+             , Text "In"+             , Space+             , Text "olden"+             , Space+             , Text "times"+             , Space+             , Text "when"+             , Space+             , Text "wishing"+             , Space+             , Text "still"+             , Space+             , Text "helped"+             , Space+             , Text "one,"+             , Space+             , Text "there"+             , Space+             , Text "lived"+             , Space+             , Text "a"+             , Space+             , Text "king"+             , Space+             , Text "whose"+             , SoftBreak+             , Text "daughters"+             , Space+             , Text "were"+             , Space+             , Text "all"+             , Space+             , Text "beautiful;"+             , Space+             , Text "and"+             , Space+             , Text "the"+             , Space+             , Text "youngest"+             , Space+             , Text "was"+             , Space+             , Text "so"+             , Space+             , Text "beautiful"+             , Space+             , Text "that"+             , Space+             , Text "the"+             , Space+             , Text "sun"+             , SoftBreak+             , Text "itself,"+             , Space+             , Text "which"+             , Space+             , Text "has"+             , Space+             , Text "seen"+             , Space+             , Text "so"+             , Space+             , Text "much,"+             , Space+             , Text "was"+             , Space+             , Text "astonished"+             , Space+             , Text "whenever"+             , Space+             , Text "it"+             , Space+             , Text "shone"+             , Space+             , Text "in"+             , Space+             , Text "her"+             , Space+             , Text "face"+             , Text "."+             , SoftBreak+             , Text "Close"+             , Space+             , Text "by"+             , Space+             , Text "the"+             , Space+             , Text "king\8217s"+             , Space+             , Text "castle"+             , Space+             , Text "lay"+             , Space+             , Text "a"+             , Space+             , Text "great"+             , Space+             , Text "dark"+             , Space+             , Text "red,"+             , Space+             , Text "and"+             , Space+             , Text "under"+             , Space+             , Text "an"+             , Space+             , Text "old"+             , Space+             , Text "lime"+             , Text "-"+             , Text "tree"+             , SoftBreak+             , Text "in"+             , Space+             , Text "the"+             , Space+             , Text "red"+             , Space+             , Text "was"+             , Space+             , Text "a"+             , Space+             , Text "well,"+             , Space+             , Text "and"+             , Space+             , Text "when"+             , Space+             , Text "the"+             , Space+             , Text "day"+             , Space+             , Text "was"+             , Space+             , Text "very"+             , Space+             , Text "warm,"+             , Space+             , Text "the"+             , Space+             , Text "king\8217s"+             , Space+             , Text "child"+             , SoftBreak+             , Text "went"+             , Space+             , Text "out"+             , Space+             , Text "into"+             , Space+             , Text "the"+             , Space+             , Text "red"+             , Space+             , Text "and"+             , Space+             , Text "sat"+             , Space+             , Text "down"+             , Space+             , Text "by"+             , Space+             , Text "the"+             , Space+             , Text "side"+             , Space+             , Text "of"+             , Space+             , Text "the"+             , Space+             , Text "cool"+             , Space+             , Text "fountain;"+             , Space+             , Text "and"+             , SoftBreak+             , Text "when"+             , Space+             , Text "she"+             , Space+             , Text "was"+             , Space+             , Text "bored"+             , Space+             , Text "she"+             , Space+             , Text "took"+             , Space+             , Text "a"+             , Space+             , Text "golden"+             , Space+             , Text "ball,"+             , Space+             , Text "and"+             , Space+             , Text "threw"+             , Space+             , Text "it"+             , Space+             , Text "up"+             , Space+             , Text "on"+             , Space+             , Text "high"+             , Space+             , Text "and"+             , Space+             , Text "caught"+             , SoftBreak+             , Text "it;"+             , Space+             , Text "and"+             , Space+             , Text "this"+             , Space+             , Text "ball"+             , Space+             , Text "was"+             , Space+             , Text "her"+             , Space+             , Text "favorite"+             , Space+             , Text "plaything"+             , Text "."+             , ParBreak+             ])))+, ParBreak+, Code+    "typ/layout/par-knuth-00.typ"+    ( line 17 , column 2 )+    (LetFunc+       (Identifier "column")+       [ NormalParam (Identifier "title")+       , NormalParam (Identifier "linebreaks")+       , NormalParam (Identifier "hyphenate")+       ]+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "rect"))+                 [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))+                 , KeyValArg (Identifier "width") (Literal (Numeric 132.0 Pt))+                 , KeyValArg+                     (Identifier "fill")+                     (FuncCall+                        (Ident (Identifier "rgb")) [ NormalArg (Literal (String "eee")) ])+                 , BlockArg+                     [ SoftBreak+                     , Code+                         "typ/layout/par-knuth-00.typ"+                         ( line 19 , column 6 )+                         (Set+                            (Ident (Identifier "par"))+                            [ KeyValArg+                                (Identifier "linebreaks") (Ident (Identifier "linebreaks"))+                            ])+                     , SoftBreak+                     , Code+                         "typ/layout/par-knuth-00.typ"+                         ( line 20 , column 6 )+                         (Set+                            (Ident (Identifier "text"))+                            [ KeyValArg+                                (Identifier "hyphenate") (Ident (Identifier "hyphenate"))+                            ])+                     , SoftBreak+                     , Code+                         "typ/layout/par-knuth-00.typ"+                         ( line 21 , column 6 )+                         (FuncCall+                            (Ident (Identifier "strong"))+                            [ NormalArg (Ident (Identifier "title")) ])+                     , Space+                     , HardBreak+                     , Code+                         "typ/layout/par-knuth-00.typ"+                         ( line 21 , column 23 )+                         (Ident (Identifier "story"))+                     , ParBreak+                     ]+                 ]+             ])))+, ParBreak+, Code+    "typ/layout/par-knuth-00.typ"+    ( line 25 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg (Identifier "columns") (Literal (Int 3))+       , KeyValArg (Identifier "gutter") (Literal (Numeric 10.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "column"))+              [ NormalArg+                  (Block+                     (Content+                        [ Text "Simple"+                        , Space+                        , Text "without"+                        , Space+                        , Text "hyphens"+                        ]))+              , NormalArg (Literal (String "simple"))+              , NormalArg (Literal (Boolean False))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "column"))+              [ NormalArg+                  (Block+                     (Content+                        [ Text "Simple" , Space , Text "with" , Space , Text "hyphens" ]))+              , NormalArg (Literal (String "simple"))+              , NormalArg (Literal (Boolean True))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "column"))+              [ NormalArg+                  (Block+                     (Content+                        [ Text "Optimized"+                        , Space+                        , Text "with"+                        , Space+                        , Text "hyphens"+                        ]))+              , NormalArg (Literal (String "optimized"))+              , NormalArg (Literal (Boolean True))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 grid(children: (rect(body: { text(body: [+], +                                                   font: "New Computer Modern"), +                                              text(body: [+], +                                                   font: "New Computer Modern"), +                                              text(body: [+], +                                                   font: "New Computer Modern", +                                                   hyphenate: false), +                                              strong(body: text(body: [Simple without hyphens], +                                                                font: "New Computer Modern")), +                                              text(body: [ ], +                                                   font: "New Computer Modern", +                                                   hyphenate: false), +                                              linebreak(), +                                              text(body: [+In olden times when wishing still helped one, there lived a king whose+daughters were all beautiful; and the youngest was so beautiful that the sun+itself, which has seen so much, was astonished whenever it shone in her face.+Close by the king’s castle lay a great dark red, and under an old lime-tree+in the red was a well, and when the day was very warm, the king’s child+went out into the red and sat down by the side of the cool fountain; and+when she was bored she took a golden ball, and threw it up on high and caught+it; and this ball was her favorite plaything.], +                                                   font: "New Computer Modern"), +                                              parbreak(), +                                              parbreak() }, +                                      fill: rgb(5%,5%,5%,100%), +                                      inset: 0.0pt, +                                      width: 132.0pt), +                                 rect(body: { text(body: [+], +                                                   font: "New Computer Modern"), +                                              text(body: [+], +                                                   font: "New Computer Modern"), +                                              text(body: [+], +                                                   font: "New Computer Modern", +                                                   hyphenate: true), +                                              strong(body: text(body: [Simple with hyphens], +                                                                font: "New Computer Modern")), +                                              text(body: [ ], +                                                   font: "New Computer Modern", +                                                   hyphenate: true), +                                              linebreak(), +                                              text(body: [+In olden times when wishing still helped one, there lived a king whose+daughters were all beautiful; and the youngest was so beautiful that the sun+itself, which has seen so much, was astonished whenever it shone in her face.+Close by the king’s castle lay a great dark red, and under an old lime-tree+in the red was a well, and when the day was very warm, the king’s child+went out into the red and sat down by the side of the cool fountain; and+when she was bored she took a golden ball, and threw it up on high and caught+it; and this ball was her favorite plaything.], +                                                   font: "New Computer Modern"), +                                              parbreak(), +                                              parbreak() }, +                                      fill: rgb(5%,5%,5%,100%), +                                      inset: 0.0pt, +                                      width: 132.0pt), +                                 rect(body: { text(body: [+], +                                                   font: "New Computer Modern"), +                                              text(body: [+], +                                                   font: "New Computer Modern"), +                                              text(body: [+], +                                                   font: "New Computer Modern", +                                                   hyphenate: true), +                                              strong(body: text(body: [Optimized with hyphens], +                                                                font: "New Computer Modern")), +                                              text(body: [ ], +                                                   font: "New Computer Modern", +                                                   hyphenate: true), +                                              linebreak(), +                                              text(body: [+In olden times when wishing still helped one, there lived a king whose+daughters were all beautiful; and the youngest was so beautiful that the sun+itself, which has seen so much, was astonished whenever it shone in her face.+Close by the king’s castle lay a great dark red, and under an old lime-tree+in the red was a well, and when the day was very warm, the king’s child+went out into the red and sat down by the side of the cool fountain; and+when she was bored she took a golden ball, and threw it up on high and caught+it; and this ball was her favorite plaything.], +                                                   font: "New Computer Modern"), +                                              parbreak(), +                                              parbreak() }, +                                      fill: rgb(5%,5%,5%,100%), +                                      inset: 0.0pt, +                                      width: 132.0pt)), +                      columns: 3, +                      gutter: 10.0pt), +                 parbreak() })
+ test/typ/layout/par-simple-00.out view
@@ -0,0 +1,488 @@+--- parse tree ---+[ Code+    "typ/layout/par-simple-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/par-simple-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/par-simple-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/par-simple-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 250.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 120.0 Pt))+       ])+, ParBreak+, Text "But,"+, Space+, Text "soft!"+, Space+, Text "what"+, Space+, Text "light"+, Space+, Text "through"+, Space+, Text "yonder"+, Space+, Text "window"+, Space+, Text "breaks?"+, Space+, Text "It"+, Space+, Text "is"+, Space+, Text "the"+, Space+, Text "east,"+, Space+, Text "and"+, Space+, Text "Juliet"+, SoftBreak+, Text "is"+, Space+, Text "the"+, Space+, Text "sun"+, Text "."+, Space+, Text "Arise,"+, Space+, Text "fair"+, Space+, Text "sun,"+, Space+, Text "and"+, Space+, Text "kill"+, Space+, Text "the"+, Space+, Text "envious"+, Space+, Text "moon,"+, Space+, Text "Who"+, Space+, Text "is"+, Space+, Text "already"+, Space+, Text "sick"+, Space+, Text "and"+, SoftBreak+, Text "pale"+, Space+, Text "with"+, Space+, Text "grief,"+, Space+, Text "That"+, Space+, Text "thou"+, Space+, Text "her"+, Space+, Text "maid"+, Space+, Text "art"+, Space+, Text "far"+, Space+, Text "more"+, Space+, Text "fair"+, Space+, Text "than"+, Space+, Text "she"+, Text ":"+, Space+, Text "Be"+, Space+, Text "not"+, Space+, Text "her"+, Space+, Text "maid,"+, SoftBreak+, Text "since"+, Space+, Text "she"+, Space+, Text "is"+, Space+, Text "envious;"+, Space+, Text "Her"+, Space+, Text "vestal"+, Space+, Text "livery"+, Space+, Text "is"+, Space+, Text "but"+, Space+, Text "sick"+, Space+, Text "and"+, Space+, Text "green"+, Space+, Text "And"+, Space+, Text "none"+, Space+, Text "but"+, Space+, Text "fools"+, SoftBreak+, Text "do"+, Space+, Text "wear"+, Space+, Text "it;"+, Space+, Text "cast"+, Space+, Text "it"+, Space+, Text "off"+, Text "."+, Space+, Text "It"+, Space+, Text "is"+, Space+, Text "my"+, Space+, Text "lady,"+, Space+, Text "O,"+, Space+, Text "it"+, Space+, Text "is"+, Space+, Text "my"+, Space+, Text "love!"+, Space+, Text "O,"+, Space+, Text "that"+, Space+, Text "she"+, Space+, Text "knew"+, Space+, Text "she"+, SoftBreak+, Text "were!"+, Space+, Text "She"+, Space+, Text "speaks"+, Space+, Text "yet"+, Space+, Text "she"+, Space+, Text "says"+, Space+, Text "nothing"+, Text ":"+, Space+, Text "what"+, Space+, Text "of"+, Space+, Text "that?"+, Space+, Text "Her"+, Space+, Text "eye"+, Space+, Text "discourses;"+, Space+, Text "I"+, Space+, Text "will"+, SoftBreak+, Text "answer"+, Space+, Text "it"+, Text "."+, ParBreak+, Text "I"+, Space+, Text "am"+, Space+, Text "too"+, Space+, Text "bold,"+, Space+, Quote '\''+, Text "tis"+, Space+, Text "not"+, Space+, Text "to"+, Space+, Text "me"+, Space+, Text "she"+, Space+, Text "speaks"+, Text ":"+, Space+, Text "Two"+, Space+, Text "of"+, Space+, Text "the"+, Space+, Text "fairest"+, Space+, Text "stars"+, Space+, Text "in"+, Space+, Text "all"+, Space+, Text "the"+, SoftBreak+, Text "heaven,"+, Space+, Text "Having"+, Space+, Text "some"+, Space+, Text "business,"+, Space+, Text "do"+, Space+, Text "entreat"+, Space+, Text "her"+, Space+, Text "eyes"+, Space+, Text "To"+, Space+, Text "twinkle"+, Space+, Text "in"+, Space+, Text "their"+, Space+, Text "spheres"+, SoftBreak+, Text "till"+, Space+, Text "they"+, Space+, Text "return"+, Text "."+, Space+, Text "What"+, Space+, Text "if"+, Space+, Text "her"+, Space+, Text "eyes"+, Space+, Text "were"+, Space+, Text "there,"+, Space+, Text "they"+, Space+, Text "in"+, Space+, Text "her"+, Space+, Text "head?"+, Space+, Text "The"+, Space+, Text "brightness"+, SoftBreak+, Text "of"+, Space+, Text "her"+, Space+, Text "cheek"+, Space+, Text "would"+, Space+, Text "shame"+, Space+, Text "those"+, Space+, Text "stars,"+, Space+, Text "As"+, Space+, Text "daylight"+, Space+, Text "doth"+, Space+, Text "a"+, Space+, Text "lamp;"+, Space+, Text "her"+, Space+, Text "eyes"+, Space+, Text "in"+, SoftBreak+, Text "heaven"+, Space+, Text "Would"+, Space+, Text "through"+, Space+, Text "the"+, Space+, Text "airy"+, Space+, Text "region"+, Space+, Text "stream"+, Space+, Text "so"+, Space+, Text "bright"+, Space+, Text "That"+, Space+, Text "birds"+, Space+, Text "would"+, Space+, Text "sing"+, Space+, Text "and"+, SoftBreak+, Text "think"+, Space+, Text "it"+, Space+, Text "were"+, Space+, Text "not"+, Space+, Text "night"+, Text "."+, Space+, Text "See,"+, Space+, Text "how"+, Space+, Text "she"+, Space+, Text "leans"+, Space+, Text "her"+, Space+, Text "cheek"+, Space+, Text "upon"+, Space+, Text "her"+, Space+, Text "hand!"+, Space+, Text "O,"+, Space+, Text "that"+, Space+, Text "I"+, SoftBreak+, Text "were"+, Space+, Text "a"+, Space+, Text "glove"+, Space+, Text "upon"+, Space+, Text "that"+, Space+, Text "hand,"+, Space+, Text "That"+, Space+, Text "I"+, Space+, Text "might"+, Space+, Text "touch"+, Space+, Text "that"+, Space+, Text "cheek!"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [But, soft! what light through yonder window breaks? It is the east, and Juliet+is the sun. Arise, fair sun, and kill the envious moon, Who is already sick and+pale with grief, That thou her maid art far more fair than she: Be not her maid,+since she is envious; Her vestal livery is but sick and green And none but fools+do wear it; cast it off. It is my lady, O, it is my love! O, that she knew she+were! She speaks yet she says nothing: what of that? Her eye discourses; I will+answer it.]), +                 parbreak(), +                 text(body: [I am too bold, ‘tis not to me she speaks: Two of the fairest stars in all the+heaven, Having some business, do entreat her eyes To twinkle in their spheres+till they return. What if her eyes were there, they in her head? The brightness+of her cheek would shame those stars, As daylight doth a lamp; her eyes in+heaven Would through the airy region stream so bright That birds would sing and+think it were not night. See, how she leans her cheek upon her hand! O, that I+were a glove upon that hand, That I might touch that cheek!]), +                 parbreak() })
+ test/typ/layout/place-00.out view
@@ -0,0 +1,241 @@+--- parse tree ---+[ Code+    "typ/layout/place-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/place-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/place-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/place-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page")) [ NormalArg (Literal (String "a8")) ])+, SoftBreak+, Code+    "typ/layout/place-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "place"))+       [ NormalArg+           (Plus (Ident (Identifier "bottom")) (Ident (Identifier "center")))+       , BlockArg [ Text "\169" , Space , Text "Typst" ]+       ])+, ParBreak+, Heading 1 [ Text "Placement" ]+, Code+    "typ/layout/place-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "place"))+       [ NormalArg (Ident (Identifier "right"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))+              , KeyValArg (Identifier "width") (Literal (Numeric 1.8 Cm))+              ])+       ])+, SoftBreak+, Text "Hi"+, Space+, Text "there"+, Text "."+, Space+, Text "This"+, Space+, Text "is"+, Space+, HardBreak+, Text "a"+, Space+, Text "placed"+, Space+, Text "element"+, Text "."+, Space+, HardBreak+, Text "Unfortunately,"+, Space+, HardBreak+, Text "the"+, Space+, Text "line"+, Space+, Text "breaks"+, Space+, Text "still"+, Space+, Text "had"+, Space+, Text "to"+, Space+, Text "be"+, Space+, Text "inserted"+, Space+, Text "manually"+, Text "."+, ParBreak+, Code+    "typ/layout/place-00.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+              , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "place"))+              [ NormalArg (Ident (Identifier "right"))+              , KeyValArg (Identifier "dy") (Literal (Numeric 1.5 Pt))+              , BlockArg [ Text "ABC" ]+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+              , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+              , KeyValArg (Identifier "width") (Literal (Numeric 80.0 Percent))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              ])+       , NormalArg (Literal (Numeric 10.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "block"))+              [ BlockArg+                  [ SoftBreak+                  , Code+                      "typ/layout/place-00.typ"+                      ( line 19 , column 6 )+                      (FuncCall+                         (Ident (Identifier "place"))+                         [ NormalArg (Ident (Identifier "center"))+                         , KeyValArg (Identifier "dx") (Negated (Literal (Numeric 7.0 Pt)))+                         , KeyValArg (Identifier "dy") (Negated (Literal (Numeric 5.0 Pt)))+                         , BlockArg [ Text "Hello" ]+                         ])+                  , SoftBreak+                  , Code+                      "typ/layout/place-00.typ"+                      ( line 20 , column 6 )+                      (FuncCall+                         (Ident (Identifier "place"))+                         [ NormalArg (Ident (Identifier "center"))+                         , KeyValArg (Identifier "dx") (Literal (Numeric 7.0 Pt))+                         , KeyValArg (Identifier "dy") (Literal (Numeric 5.0 Pt))+                         , BlockArg [ Text "Hello" ]+                         ])+                  , SoftBreak+                  , Text "Hello"+                  , Space+                  , Code+                      "typ/layout/place-00.typ"+                      ( line 21 , column 12 )+                      (FuncCall+                         (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+                  , Space+                  , Text "Hello"+                  , ParBreak+                  ]+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 place(alignment: Axes(center, bottom), +                       body: text(body: [© Typst])), +                 parbreak(), +                 heading(body: text(body: [Placement]), +                         level: 1), +                 place(alignment: right, +                       body: image(path: "/assets/files/tiger.jpg", +                                   width: 1.8cm)), +                 text(body: [+Hi there. This is ]), +                 linebreak(), +                 text(body: [a placed element. ]), +                 linebreak(), +                 text(body: [Unfortunately, ]), +                 linebreak(), +                 text(body: [the line breaks still had to be inserted manually.]), +                 parbreak(), +                 stack(children: (rect(fill: rgb(13%,61%,67%,100%), +                                       height: 10.0pt, +                                       width: 100%), +                                  place(alignment: right, +                                        body: text(body: [ABC]), +                                        dy: 1.5pt), +                                  rect(fill: rgb(18%,80%,25%,100%), +                                       height: 10.0pt, +                                       width: 80%), +                                  rect(fill: rgb(100%,25%,21%,100%), +                                       height: 10.0pt, +                                       width: 100%), +                                  10.0pt, +                                  block(body: { text(body: [+]), +                                                place(alignment: center, +                                                      body: text(body: [Hello]), +                                                      dx: -7.0pt, +                                                      dy: -5.0pt), +                                                text(body: [+]), +                                                place(alignment: center, +                                                      body: text(body: [Hello]), +                                                      dx: 7.0pt, +                                                      dy: 5.0pt), +                                                text(body: [+Hello ]), +                                                h(amount: 1.0fr), +                                                text(body: [ Hello]), +                                                parbreak() }))), +                 parbreak() })
+ test/typ/layout/place-01.out view
@@ -0,0 +1,77 @@+--- parse tree ---+[ Code+    "typ/layout/place-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/place-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/place-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/place-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ NormalArg (Literal (String "a8"))+       , KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt))+       ])+, ParBreak+, Text "First"+, ParBreak+, Code+    "typ/layout/place-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "place"))+       [ NormalArg+           (Plus (Ident (Identifier "bottom")) (Ident (Identifier "right")))+       , BlockArg [ Text "Placed" ]+       ])+, ParBreak+, Text "Second"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [First]), +                 parbreak(), +                 place(alignment: Axes(right, bottom), +                       body: text(body: [Placed])), +                 parbreak(), +                 text(body: [Second]), +                 parbreak() })
+ test/typ/layout/place-background-00.out view
@@ -0,0 +1,131 @@+--- parse tree ---+[ Code+    "typ/layout/place-background-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/place-background-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/place-background-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/place-background-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "paper") (Literal (String "a10"))+       , KeyValArg (Identifier "flipped") (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/layout/place-background-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "white")) ])+, SoftBreak+, Code+    "typ/layout/place-background-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "place"))+       [ KeyValArg (Identifier "dx") (Negated (Literal (Numeric 10.0 Pt)))+       , KeyValArg (Identifier "dy") (Negated (Literal (Numeric 10.0 Pt)))+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/tiger.jpg"))+              , KeyValArg (Identifier "fit") (Literal (String "cover"))+              , KeyValArg+                  (Identifier "width")+                  (Plus+                     (Literal (Numeric 100.0 Percent)) (Literal (Numeric 20.0 Pt)))+              , KeyValArg+                  (Identifier "height")+                  (Plus+                     (Literal (Numeric 100.0 Percent)) (Literal (Numeric 20.0 Pt)))+              ])+       ])+, SoftBreak+, Code+    "typ/layout/place-background-00.typ"+    ( line 14 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg+           (Plus (Ident (Identifier "bottom")) (Ident (Identifier "right")))+       , BlockArg+           [ SoftBreak+           , Emph [ Text "Welcome" , Space , Text "to" ]+           , Space+           , Code+               "typ/layout/place-background-00.typ"+               ( line 15 , column 17 )+               (FuncCall+                  (Ident (Identifier "underline"))+                  [ BlockArg [ Strong [ Text "Tigerland" ] ] ])+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      fill: rgb(100%,100%,100%,100%)), +                 place(body: image(fit: "cover", +                                   height: 20.0pt + 100%, +                                   path: "/tiger.jpg", +                                   width: 20.0pt + 100%), +                       dx: -10.0pt, +                       dy: -10.0pt), +                 text(body: [+], +                      fill: rgb(100%,100%,100%,100%)), +                 align(alignment: Axes(right, bottom), +                       body: { text(body: [+], +                                    fill: rgb(100%,100%,100%,100%)), +                               emph(body: text(body: [Welcome to], +                                               fill: rgb(100%,100%,100%,100%))), +                               text(body: [ ], +                                    fill: rgb(100%,100%,100%,100%)), +                               underline(body: strong(body: text(body: [Tigerland], +                                                                 fill: rgb(100%,100%,100%,100%)))), +                               parbreak() }), +                 parbreak() })
+ test/typ/layout/repeat-00.out view
@@ -0,0 +1,172 @@+--- parse tree ---+[ Code+    "typ/layout/repeat-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/repeat-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/repeat-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/repeat-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "sections")))+       (Array+          [ Reg+              (Array+                 [ Reg (Literal (String "Introduction")) , Reg (Literal (Int 1)) ])+          , Reg+              (Array+                 [ Reg (Literal (String "Approach")) , Reg (Literal (Int 1)) ])+          , Reg+              (Array+                 [ Reg (Literal (String "Evaluation")) , Reg (Literal (Int 3)) ])+          , Reg+              (Array+                 [ Reg (Literal (String "Discussion")) , Reg (Literal (Int 15)) ])+          , Reg+              (Array+                 [ Reg (Literal (String "Related Work")) , Reg (Literal (Int 16)) ])+          , Reg+              (Array+                 [ Reg (Literal (String "Conclusion")) , Reg (Literal (Int 253)) ])+          ]))+, ParBreak+, Code+    "typ/layout/repeat-00.typ"+    ( line 12 , column 2 )+    (For+       (BasicBind (Just (Identifier "section")))+       (Ident (Identifier "sections"))+       (Block+          (Content+             [ SoftBreak+             , Code+                 "typ/layout/repeat-00.typ"+                 ( line 13 , column 4 )+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "at")) (Ident (Identifier "section")))+                    [ NormalArg (Literal (Int 0)) ])+             , Space+             , Code+                 "typ/layout/repeat-00.typ"+                 ( line 13 , column 19 )+                 (FuncCall+                    (Ident (Identifier "box"))+                    [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))+                    , NormalArg+                        (FuncCall (Ident (Identifier "repeat")) [ BlockArg [ Text "." ] ])+                    ])+             , Space+             , Code+                 "typ/layout/repeat-00.typ"+                 ( line 13 , column 47 )+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "at")) (Ident (Identifier "section")))+                    [ NormalArg (Literal (Int 1)) ])+             , Space+             , HardBreak+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [Introduction]), +                 text(body: [ ]), +                 box(body: repeat(body: text(body: [.])), +                     width: 1.0fr), +                 text(body: [ ]), +                 text(body: [1]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+]), +                 text(body: [Approach]), +                 text(body: [ ]), +                 box(body: repeat(body: text(body: [.])), +                     width: 1.0fr), +                 text(body: [ ]), +                 text(body: [1]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+]), +                 text(body: [Evaluation]), +                 text(body: [ ]), +                 box(body: repeat(body: text(body: [.])), +                     width: 1.0fr), +                 text(body: [ ]), +                 text(body: [3]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+]), +                 text(body: [Discussion]), +                 text(body: [ ]), +                 box(body: repeat(body: text(body: [.])), +                     width: 1.0fr), +                 text(body: [ ]), +                 text(body: [15]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+]), +                 text(body: [Related Work]), +                 text(body: [ ]), +                 box(body: repeat(body: text(body: [.])), +                     width: 1.0fr), +                 text(body: [ ]), +                 text(body: [16]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+]), +                 text(body: [Conclusion]), +                 text(body: [ ]), +                 box(body: repeat(body: text(body: [.])), +                     width: 1.0fr), +                 text(body: [ ]), +                 text(body: [253]), +                 text(body: [ ]), +                 linebreak(), +                 parbreak() })
+ test/typ/layout/repeat-01.out view
@@ -0,0 +1,76 @@+--- parse tree ---+[ Code+    "typ/layout/repeat-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/repeat-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/repeat-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/repeat-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "ar")) ])+, SoftBreak+, Text "\1605\1602\1583\1605\1577"+, Space+, Code+    "typ/layout/repeat-01.typ"+    ( line 4 , column 8 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall (Ident (Identifier "repeat")) [ BlockArg [ Text "." ] ])+       ])+, Space+, Text "15"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+مقدمة ], +                      lang: "ar"), +                 box(body: repeat(body: text(body: [.], +                                             lang: "ar")), +                     width: 1.0fr), +                 text(body: [ 15], +                      lang: "ar"), +                 parbreak() })
+ test/typ/layout/repeat-02.out view
@@ -0,0 +1,65 @@+--- parse tree ---+[ Code+    "typ/layout/repeat-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/repeat-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/repeat-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Space+, Code+    "typ/layout/repeat-02.typ"+    ( line 3 , column 4 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall (Ident (Identifier "repeat")) [ BlockArg [] ])+       ])+, Space+, Text "B"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A ]), +                 box(body: repeat(body: {  }), +                     width: 1.0fr), +                 text(body: [ B]), +                 parbreak() })
+ test/typ/layout/repeat-03.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/layout/repeat-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/repeat-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/repeat-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/repeat-03.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "repeat"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Em))+              , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 repeat(body: rect(height: 1.0em, +                                   width: 2.0em)), +                 parbreak() })
+ test/typ/layout/repeat-04.out view
@@ -0,0 +1,141 @@+--- parse tree ---+[ Code+    "typ/layout/repeat-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/repeat-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/repeat-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Code+    "typ/layout/repeat-04.typ"+    ( line 3 , column 3 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "repeat"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "width") (Literal (Numeric 6.0 Em))+                     , KeyValArg (Identifier "height") (Literal (Numeric 0.7 Em))+                     ])+              ])+       ])+, Text "B"+, ParBreak+, Code+    "typ/layout/repeat-04.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center")) ])+, SoftBreak+, Text "A"+, Code+    "typ/layout/repeat-04.typ"+    ( line 6 , column 3 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "repeat"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "width") (Literal (Numeric 6.0 Em))+                     , KeyValArg (Identifier "height") (Literal (Numeric 0.7 Em))+                     ])+              ])+       ])+, Text "B"+, ParBreak+, Code+    "typ/layout/repeat-04.typ"+    ( line 8 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])+, SoftBreak+, Text "\1585\1610\1580\1610\1606"+, Code+    "typ/layout/repeat-04.typ"+    ( line 9 , column 7 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "repeat"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "width") (Literal (Numeric 4.0 Em))+                     , KeyValArg (Identifier "height") (Literal (Numeric 0.7 Em))+                     ])+              ])+       ])+, Text "\1587\1608\1606"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A]), +                 box(body: repeat(body: rect(height: 0.7em, +                                             width: 6.0em)), +                     width: 1.0fr), +                 text(body: [B]), +                 parbreak(), +                 text(body: [+A]), +                 box(body: repeat(body: rect(height: 0.7em, +                                             width: 6.0em)), +                     width: 1.0fr), +                 text(body: [B]), +                 parbreak(), +                 text(body: [+ريجين], +                      dir: rtl), +                 box(body: repeat(body: rect(height: 0.7em, +                                             width: 4.0em)), +                     width: 1.0fr), +                 text(body: [سون], dir: rtl), +                 parbreak() })
+ test/typ/layout/repeat-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/spacing-00.out view
@@ -0,0 +1,200 @@+--- parse tree ---+[ Code+    "typ/layout/spacing-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/spacing-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/spacing-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/spacing-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ BlockArg [ Text "A" , Space , HardBreak , Text "B" ] ])+, Space+, Code+    "typ/layout/spacing-00.typ"+    ( line 3 , column 14 )+    (FuncCall+       (Ident (Identifier "box"))+       [ BlockArg+           [ Text "A"+           , Space+           , Code+               "typ/layout/spacing-00.typ"+               ( line 3 , column 21 )+               (FuncCall+                  (Ident (Identifier "v"))+                  [ NormalArg (Literal (Numeric 0.65 Em))+                  , KeyValArg (Identifier "weak") (Literal (Boolean True))+                  ])+           , Space+           , Text "B"+           ]+       ])+, ParBreak+, Comment+, Text "Inv"+, Code+    "typ/layout/spacing-00.typ"+    ( line 6 , column 5 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 0.0 Pt)) ])+, Text "isible"+, ParBreak+, Comment+, Text "Add"+, Space+, Code+    "typ/layout/spacing-00.typ"+    ( line 9 , column 6 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 10.0 Pt)) ])+, Space+, Code+    "typ/layout/spacing-00.typ"+    ( line 9 , column 15 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 10.0 Pt)) ])+, Space+, Text "up"+, ParBreak+, Comment+, Code+    "typ/layout/spacing-00.typ"+    ( line 12 , column 2 )+    (Let+       (BasicBind (Just (Identifier "x")))+       (Minus+          (Literal (Numeric 25.0 Percent)) (Literal (Numeric 4.0 Pt))))+, SoftBreak+, Text "|"+, Code+    "typ/layout/spacing-00.typ"+    ( line 13 , column 3 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Ident (Identifier "x")) ])+, Text "|"+, Code+    "typ/layout/spacing-00.typ"+    ( line 13 , column 9 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Ident (Identifier "x")) ])+, Text "|"+, Code+    "typ/layout/spacing-00.typ"+    ( line 13 , column 15 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Ident (Identifier "x")) ])+, Text "|"+, Code+    "typ/layout/spacing-00.typ"+    ( line 13 , column 21 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Ident (Identifier "x")) ])+, Text "|"+, ParBreak+, Comment+, Text "|"+, Space+, Code+    "typ/layout/spacing-00.typ"+    ( line 16 , column 4 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, Space+, Text "|"+, Space+, Code+    "typ/layout/spacing-00.typ"+    ( line 16 , column 14 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 2.0 Fr)) ])+, Space+, Text "|"+, Space+, Code+    "typ/layout/spacing-00.typ"+    ( line 16 , column 24 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, Space+, Text "|"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 box(body: { text(body: [A ]), +                             linebreak(), +                             text(body: [B]) }), +                 text(body: [ ]), +                 box(body: { text(body: [A ]), +                             v(amount: 0.65em, +                               weak: true), +                             text(body: [ B]) }), +                 parbreak(), +                 text(body: [Inv]), +                 h(amount: 0.0pt), +                 text(body: [isible]), +                 parbreak(), +                 text(body: [Add ]), +                 h(amount: 10.0pt), +                 text(body: [ ]), +                 h(amount: 10.0pt), +                 text(body: [ up]), +                 parbreak(), +                 text(body: [+|]), +                 h(amount: -4.0pt + 25%), +                 text(body: [|]), +                 h(amount: -4.0pt + 25%), +                 text(body: [|]), +                 h(amount: -4.0pt + 25%), +                 text(body: [|]), +                 h(amount: -4.0pt + 25%), +                 text(body: [|]), +                 parbreak(), +                 text(body: [| ]), +                 h(amount: 1.0fr), +                 text(body: [ | ]), +                 h(amount: 2.0fr), +                 text(body: [ | ]), +                 h(amount: 1.0fr), +                 text(body: [ |]), +                 parbreak() })
+ test/typ/layout/spacing-01.out view
@@ -0,0 +1,99 @@+--- parse tree ---+[ Code+    "typ/layout/spacing-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/spacing-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/spacing-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/spacing-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "right")) ])+, SoftBreak+, Text "A"+, Space+, Code+    "typ/layout/spacing-01.typ"+    ( line 4 , column 4 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 0.0 Pt)) ])+, Space+, Text "B"+, Space+, Code+    "typ/layout/spacing-01.typ"+    ( line 4 , column 14 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 0.0 Pt)) ])+, Space+, HardBreak+, Text "A"+, Space+, Text "B"+, Space+, HardBreak+, Text "A"+, Space+, Code+    "typ/layout/spacing-01.typ"+    ( line 6 , column 4 )+    (FuncCall+       (Ident (Identifier "h"))+       [ NormalArg (Negated (Literal (Numeric 1.0 Fr))) ])+, Space+, Text "B"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+A ]), +                 h(amount: 0.0pt), +                 text(body: [ B ]), +                 h(amount: 0.0pt), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [A B ]), +                 linebreak(), +                 text(body: [A ]), +                 h(amount: -1.0fr), +                 text(body: [ B]), +                 parbreak() })
+ test/typ/layout/spacing-02.out view
@@ -0,0 +1,83 @@+--- parse tree ---+[ Code+    "typ/layout/spacing-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/spacing-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/spacing-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/spacing-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])+, SoftBreak+, Text "A"+, Space+, Code+    "typ/layout/spacing-02.typ"+    ( line 4 , column 4 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 10.0 Pt)) ])+, Space+, Text "B"+, Space+, HardBreak+, Text "A"+, Space+, Code+    "typ/layout/spacing-02.typ"+    ( line 5 , column 4 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, Space+, Text "B"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+A ], dir: rtl), +                 h(amount: 10.0pt), +                 text(body: [ B ], dir: rtl), +                 linebreak(), +                 text(body: [A ], dir: rtl), +                 h(amount: 1.0fr), +                 text(body: [ B], dir: rtl), +                 parbreak() })
+ test/typ/layout/spacing-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/stack-1-00.out view
@@ -0,0 +1,178 @@+--- parse tree ---+[ Code+    "typ/layout/stack-1-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/stack-1-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/stack-1-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/stack-1-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "widths")))+       (Array+          [ Reg (Literal (Numeric 30.0 Pt))+          , Reg (Literal (Numeric 20.0 Pt))+          , Reg (Literal (Numeric 40.0 Pt))+          , Reg (Literal (Numeric 15.0 Pt))+          , Reg (Literal (Numeric 30.0 Pt))+          , Reg (Literal (Numeric 50.0 Percent))+          , Reg (Literal (Numeric 20.0 Pt))+          , Reg (Literal (Numeric 100.0 Percent))+          ]))+, ParBreak+, Code+    "typ/layout/stack-1-00.typ"+    ( line 8 , column 2 )+    (LetFunc+       (Identifier "shaded")+       [ NormalParam (Identifier "i") , NormalParam (Identifier "w") ]+       (Block+          (CodeBlock+             [ Let+                 (BasicBind (Just (Identifier "v")))+                 (Times+                    (Plus (Ident (Identifier "i")) (Literal (Int 1)))+                    (Literal (Numeric 10.0 Percent)))+             , FuncCall+                 (Ident (Identifier "rect"))+                 [ KeyValArg (Identifier "width") (Ident (Identifier "w"))+                 , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+                 , KeyValArg+                     (Identifier "fill")+                     (FuncCall+                        (Ident (Identifier "rgb"))+                        [ NormalArg (Ident (Identifier "v"))+                        , NormalArg (Ident (Identifier "v"))+                        , NormalArg (Ident (Identifier "v"))+                        ])+                 ]+             ])))+, ParBreak+, Code+    "typ/layout/stack-1-00.typ"+    ( line 13 , column 2 )+    (Let+       (BasicBind (Just (Identifier "items")))+       (For+          (DestructuringBind+             [ Simple (Just (Identifier "i"))+             , Simple (Just (Identifier "w"))+             ])+          (FuncCall+             (FieldAccess+                (Ident (Identifier "enumerate")) (Ident (Identifier "widths")))+             [])+          (Block+             (CodeBlock+                [ Array+                    [ Reg+                        (FuncCall+                           (Ident (Identifier "align"))+                           [ NormalArg (Ident (Identifier "right"))+                           , NormalArg+                               (FuncCall+                                  (Ident (Identifier "shaded"))+                                  [ NormalArg (Ident (Identifier "i"))+                                  , NormalArg (Ident (Identifier "w"))+                                  ])+                           ])+                    ]+                ]))))+, ParBreak+, Code+    "typ/layout/stack-1-00.typ"+    ( line 17 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))+       ])+, SoftBreak+, Code+    "typ/layout/stack-1-00.typ"+    ( line 18 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "btt"))+       , SpreadArg (Ident (Identifier "items"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 text(body: [+]), +                 stack(children: (align(alignment: right, +                                        body: rect(fill: rgb(10%,10%,10%,100%), +                                                   height: 10.0pt, +                                                   width: 30.0pt)), +                                  align(alignment: right, +                                        body: rect(fill: rgb(20%,20%,20%,100%), +                                                   height: 10.0pt, +                                                   width: 20.0pt)), +                                  align(alignment: right, +                                        body: rect(fill: rgb(30%,30%,30%,100%), +                                                   height: 10.0pt, +                                                   width: 40.0pt)), +                                  align(alignment: right, +                                        body: rect(fill: rgb(40%,40%,40%,100%), +                                                   height: 10.0pt, +                                                   width: 15.0pt)), +                                  align(alignment: right, +                                        body: rect(fill: rgb(50%,50%,50%,100%), +                                                   height: 10.0pt, +                                                   width: 30.0pt)), +                                  align(alignment: right, +                                        body: rect(fill: rgb(60%,60%,60%,100%), +                                                   height: 10.0pt, +                                                   width: 50%)), +                                  align(alignment: right, +                                        body: rect(fill: rgb(70%,70%,70%,100%), +                                                   height: 10.0pt, +                                                   width: 20.0pt)), +                                  align(alignment: right, +                                        body: rect(fill: rgb(80%,80%,80%,100%), +                                                   height: 10.0pt, +                                                   width: 100%))), +                       dir: btt), +                 parbreak() })
+ test/typ/layout/stack-1-01.out view
@@ -0,0 +1,136 @@+--- parse tree ---+[ Code+    "typ/layout/stack-1-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/stack-1-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/stack-1-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/stack-1-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))+       ])+, ParBreak+, Code+    "typ/layout/stack-1-01.typ"+    ( line 5 , column 2 )+    (Let+       (BasicBind (Just (Identifier "x")))+       (FuncCall+          (Ident (Identifier "square"))+          [ KeyValArg (Identifier "size") (Literal (Numeric 10.0 Pt))+          , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+          ]))+, SoftBreak+, Code+    "typ/layout/stack-1-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "stack"))+              [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl"))+              , KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt))+              , NormalArg (Ident (Identifier "x"))+              , NormalArg (Ident (Identifier "x"))+              , NormalArg (Ident (Identifier "x"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "stack"))+              [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+              , NormalArg (Ident (Identifier "x"))+              , NormalArg (Literal (Numeric 20.0 Percent))+              , NormalArg (Ident (Identifier "x"))+              , NormalArg (Literal (Numeric 20.0 Percent))+              , NormalArg (Ident (Identifier "x"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "stack"))+              [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+              , KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt))+              , NormalArg (Ident (Identifier "x"))+              , NormalArg (Ident (Identifier "x"))+              , NormalArg (Literal (Numeric 7.0 Pt))+              , NormalArg (Literal (Numeric 3.0 Pt))+              , NormalArg (Ident (Identifier "x"))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [+]), +                 stack(children: (stack(children: (square(fill: rgb(13%,61%,67%,100%), +                                                          size: 10.0pt), +                                                   square(fill: rgb(13%,61%,67%,100%), +                                                          size: 10.0pt), +                                                   square(fill: rgb(13%,61%,67%,100%), +                                                          size: 10.0pt)), +                                        dir: rtl, +                                        spacing: 5.0pt), +                                  stack(children: (square(fill: rgb(13%,61%,67%,100%), +                                                          size: 10.0pt), +                                                   20%, +                                                   square(fill: rgb(13%,61%,67%,100%), +                                                          size: 10.0pt), +                                                   20%, +                                                   square(fill: rgb(13%,61%,67%,100%), +                                                          size: 10.0pt)), +                                        dir: ltr), +                                  stack(children: (square(fill: rgb(13%,61%,67%,100%), +                                                          size: 10.0pt), +                                                   square(fill: rgb(13%,61%,67%,100%), +                                                          size: 10.0pt), +                                                   7.0pt, +                                                   3.0pt, +                                                   square(fill: rgb(13%,61%,67%,100%), +                                                          size: 10.0pt)), +                                        dir: ltr, +                                        spacing: 5.0pt)), +                       spacing: 5.0pt), +                 parbreak() })
+ test/typ/layout/stack-1-02.out view
@@ -0,0 +1,90 @@+--- parse tree ---+[ Code+    "typ/layout/stack-1-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/stack-1-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/stack-1-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/stack-1-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 30.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))+       ])+, SoftBreak+, Code+    "typ/layout/stack-1-02.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "stack"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt))+                     , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))+                     , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+                     ])+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "width") (Literal (Numeric 30.0 Pt))+                     , KeyValArg (Identifier "height") (Literal (Numeric 13.0 Pt))+                     , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 box(body: stack(children: (rect(fill: rgb(18%,80%,25%,100%), +                                                 height: 20.0pt, +                                                 width: 40.0pt), +                                            rect(fill: rgb(100%,25%,21%,100%), +                                                 height: 13.0pt, +                                                 width: 30.0pt)))), +                 parbreak() })
+ test/typ/layout/stack-1-03.out view
@@ -0,0 +1,130 @@+--- parse tree ---+[ Code+    "typ/layout/stack-1-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/stack-1-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/stack-1-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/stack-1-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 5.0 Pt))+       ])+, SoftBreak+, Code+    "typ/layout/stack-1-03.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "block"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 5.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/stack-1-03.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 8.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/stack-1-03.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl"))+       , NormalArg (Literal (Numeric 1.0 Fr))+       , NormalArg (Block (Content [ Text "A" ]))+       , NormalArg (Literal (Numeric 1.0 Fr))+       , NormalArg (Block (Content [ Text "B" ]))+       , NormalArg (Block (Content [ Text "C" ]))+       ])+, SoftBreak+, Code+    "typ/layout/stack-1-03.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "center"))+              , NormalArg (Block (Content [ Text "A" ]))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "left"))+              , NormalArg (Block (Content [ Text "B" ]))+              ])+       , NormalArg (Block (Content [ Text "C" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+], size: 8.0pt), +                 stack(children: (1.0fr, +                                  text(body: [A], +                                       size: 8.0pt), +                                  1.0fr, +                                  text(body: [B], +                                       size: 8.0pt), +                                  text(body: [C], +                                       size: 8.0pt)), +                       dir: rtl), +                 text(body: [+], size: 8.0pt), +                 stack(children: (align(alignment: center, +                                        body: text(body: [A], +                                                   size: 8.0pt)), +                                  align(alignment: left, +                                        body: text(body: [B], +                                                   size: 8.0pt)), +                                  text(body: [C], +                                       size: 8.0pt)), +                       dir: rtl), +                 parbreak() })
+ test/typ/layout/stack-2-00.out view
@@ -0,0 +1,142 @@+--- parse tree ---+[ Code+    "typ/layout/stack-2-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/stack-2-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/stack-2-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/stack-2-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 3.5 Cm)) ])+, SoftBreak+, Code+    "typ/layout/stack-2-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))+       , SpreadArg+           (For+              (BasicBind (Just (Identifier "c")))+              (Literal (String "ABCDEFGHI"))+              (Block+                 (CodeBlock+                    [ Array+                        [ Reg+                            (Block+                               (Content+                                  [ Code+                                      "typ/layout/stack-2-00.typ"+                                      ( line 6 , column 30 )+                                      (Ident (Identifier "c"))+                                  ]))+                        ]+                    ])))+       ])+, ParBreak+, Text "Hello"+, SoftBreak+, Code+    "typ/layout/stack-2-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 2.0 Fr)) ])+, SoftBreak+, Text "from"+, Space+, Code+    "typ/layout/stack-2-00.typ"+    ( line 11 , column 7 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, Space+, Text "the"+, Space+, Code+    "typ/layout/stack-2-00.typ"+    ( line 11 , column 19 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, Space+, Text "wonderful"+, SoftBreak+, Code+    "typ/layout/stack-2-00.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+, SoftBreak+, Text "World!"+, Space+, Text "\127757"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 stack(children: (text(body: [A]), +                                  text(body: [B]), +                                  text(body: [C]), +                                  text(body: [D]), +                                  text(body: [E]), +                                  text(body: [F]), +                                  text(body: [G]), +                                  text(body: [H]), +                                  text(body: [I])), +                       dir: ltr, +                       spacing: 1.0fr), +                 parbreak(), +                 text(body: [Hello+]), +                 v(amount: 2.0fr), +                 text(body: [+from ]), +                 h(amount: 1.0fr), +                 text(body: [ the ]), +                 h(amount: 1.0fr), +                 text(body: [ wonderful+]), +                 v(amount: 1.0fr), +                 text(body: [+World! 🌍]), +                 parbreak() })
+ test/typ/layout/stack-2-01.out view
@@ -0,0 +1,104 @@+--- parse tree ---+[ Code+    "typ/layout/stack-2-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/stack-2-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/stack-2-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/stack-2-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm)) ])+, SoftBreak+, Code+    "typ/layout/stack-2-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Ident (Identifier "white")) ])+, SoftBreak+, Code+    "typ/layout/stack-2-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , BlockArg+           [ SoftBreak+           , Code+               "typ/layout/stack-2-01.typ"+               ( line 5 , column 12 )+               (FuncCall+                  (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+           , SoftBreak+           , Code+               "typ/layout/stack-2-01.typ"+               ( line 6 , column 4 )+               (FuncCall+                  (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ])+           , Space+           , Text "Hi"+           , Space+           , Text "you!"+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      color: rgb(100%,100%,100%,100%)), +                 rect(body: { text(body: [+], +                                   color: rgb(100%,100%,100%,100%)), +                              v(amount: 1.0fr), +                              text(body: [+], +                                   color: rgb(100%,100%,100%,100%)), +                              h(amount: 1.0fr), +                              text(body: [ Hi you!], +                                   color: rgb(100%,100%,100%,100%)), +                              parbreak() }, +                      fill: rgb(100%,25%,21%,100%)), +                 parbreak() })
+ test/typ/layout/table-00.out view
@@ -0,0 +1,141 @@+--- parse tree ---+[ Code+    "typ/layout/table-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/table-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/table-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/table-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 70.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/table-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "table"))+       [ KeyValArg+           (Identifier "fill")+           (FuncExpr+              [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+              (If+                 [ ( FuncCall+                       (FieldAccess+                          (Ident (Identifier "even")) (Ident (Identifier "calc")))+                       [ NormalArg+                           (Plus (Ident (Identifier "x")) (Ident (Identifier "y")))+                       ]+                   , Block+                       (CodeBlock+                          [ FuncCall+                              (Ident (Identifier "rgb")) [ NormalArg (Literal (String "aaa")) ]+                          ])+                   )+                 ]))+       ])+, ParBreak+, Code+    "typ/layout/table-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg+           (Identifier "columns")+           (Times+              (Array [ Reg (Literal (Numeric 1.0 Fr)) ]) (Literal (Int 3)))+       , KeyValArg+           (Identifier "stroke")+           (Plus+              (Literal (Numeric 2.0 Pt))+              (FuncCall+                 (Ident (Identifier "rgb")) [ NormalArg (Literal (String "333")) ]))+       , NormalArg (Block (Content [ Text "A" ]))+       , NormalArg (Block (Content [ Text "B" ]))+       , NormalArg (Block (Content [ Text "C" ]))+       , NormalArg (Block (Content []))+       , NormalArg (Block (Content []))+       , NormalArg+           (Block+              (Content+                 [ Text "D"+                 , Space+                 , HardBreak+                 , Text "E"+                 , Space+                 , HardBreak+                 , Text "F"+                 , Space+                 , HardBreak+                 , HardBreak+                 , HardBreak+                 , Text "G"+                 ]))+       , NormalArg (Block (Content [ Text "H" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 table(children: (text(body: [A]), +                                  text(body: [B]), +                                  text(body: [C]), +                                  {  }, +                                  {  }, +                                  { text(body: [D ]), +                                    linebreak(), +                                    text(body: [E ]), +                                    linebreak(), +                                    text(body: [F ]), +                                    linebreak(), +                                    linebreak(), +                                    linebreak(), +                                    text(body: [G]) }, +                                  text(body: [H])), +                       columns: (1.0fr, +                                 1.0fr, +                                 1.0fr), +                       fill: , +                       stroke: (thickness: 2.0pt,+                                color: rgb(1%,1%,1%,100%))), +                 parbreak() })
+ test/typ/layout/table-01.out view
@@ -0,0 +1,65 @@+--- parse tree ---+[ Code+    "typ/layout/table-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/table-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/table-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/layout/table-01.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg (Identifier "columns") (Literal (Int 3))+       , KeyValArg (Identifier "stroke") (Literal None)+       , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       , NormalArg (Block (Content [ Text "A" ]))+       , NormalArg (Block (Content [ Text "B" ]))+       , NormalArg (Block (Content [ Text "C" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 table(children: (text(body: [A]), +                                  text(body: [B]), +                                  text(body: [C])), +                       columns: 3, +                       fill: rgb(18%,80%,25%,100%), +                       stroke: none), +                 parbreak() })
+ test/typ/layout/table-02.out view
@@ -0,0 +1,116 @@+--- parse tree ---+[ Code+    "typ/layout/table-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/table-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/table-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/table-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg+           (Identifier "columns")+           (Array+              [ Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              ])+       , KeyValArg+           (Identifier "align")+           (Array+              [ Reg (Ident (Identifier "left"))+              , Reg (Ident (Identifier "center"))+              , Reg (Ident (Identifier "right"))+              ])+       , NormalArg (Block (Content [ Text "A" ]))+       , NormalArg (Block (Content [ Text "B" ]))+       , NormalArg (Block (Content [ Text "C" ]))+       ])+, ParBreak+, Comment+, Code+    "typ/layout/table-02.typ"+    ( line 10 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center")) ])+, SoftBreak+, Code+    "typ/layout/table-02.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg+           (Identifier "columns")+           (Array+              [ Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              ])+       , KeyValArg (Identifier "align") (Array [])+       , NormalArg (Block (Content [ Text "A" ]))+       , NormalArg (Block (Content [ Text "B" ]))+       , NormalArg (Block (Content [ Text "C" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 table(align: (left, +                               center, +                               right), +                       children: (text(body: [A]), +                                  text(body: [B]), +                                  text(body: [C])), +                       columns: (1.0fr, +                                 1.0fr, +                                 1.0fr)), +                 parbreak(), +                 text(body: [+]), +                 table(align: (), +                       children: (text(body: [A]), +                                  text(body: [B]), +                                  text(body: [C])), +                       columns: (1.0fr, +                                 1.0fr, +                                 1.0fr)), +                 parbreak() })
+ test/typ/layout/table-03.out view
@@ -0,0 +1,53 @@+--- parse tree ---+[ Code+    "typ/layout/table-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/table-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/table-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/table-03.typ"+    ( line 3 , column 2 )+    (FuncCall (Ident (Identifier "table")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 table(children: ()), +                 parbreak() })
+ test/typ/layout/table-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/terms-00.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/layout/terms-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/terms-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/terms-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/terms-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "terms"))+       [ NormalArg+           (Array+              [ Reg (Block (Content [ Text "One" ]))+              , Reg (Block (Content [ Text "First" ]))+              ])+       , NormalArg+           (Array+              [ Reg (Block (Content [ Text "Two" ]))+              , Reg (Block (Content [ Text "Second" ]))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 terms(children: ((text(body: [One]), +                                   text(body: [First])), +                                  (text(body: [Two]), +                                   text(body: [Second])))), +                 parbreak() })
+ test/typ/layout/terms-01.out view
@@ -0,0 +1,100 @@+--- parse tree ---+[ Code+    "typ/layout/terms-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/terms-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/terms-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/terms-01.typ"+    ( line 3 , column 2 )+    (For+       (BasicBind (Just (Identifier "word")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "map"))+             (FuncCall+                (FieldAccess+                   (Ident (Identifier "split"))+                   (FuncCall+                      (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 4)) ]))+                []))+          [ NormalArg+              (FuncExpr+                 [ NormalParam (Identifier "s") ]+                 (FuncCall+                    (FieldAccess (Ident (Identifier "trim")) (Ident (Identifier "s")))+                    [ NormalArg (Literal (String ".")) ]))+          ])+       (Block+          (Content+             [ SoftBreak+             , DescListItem+                 [ Code+                     "typ/layout/terms-01.typ"+                     ( line 4 , column 6 )+                     (Ident (Identifier "word"))+                 ]+                 [ Text "Latin" , Space , Text "stuff" , Text "." , ParBreak ]+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 terms(children: ((text(body: [Lorem]), +                                   { text(body: [Latin stuff.]), +                                     parbreak() }))), +                 text(body: [+]), +                 terms(children: ((text(body: [ipsum]), +                                   { text(body: [Latin stuff.]), +                                     parbreak() }))), +                 text(body: [+]), +                 terms(children: ((text(body: [dolor]), +                                   { text(body: [Latin stuff.]), +                                     parbreak() }))), +                 text(body: [+]), +                 terms(children: ((text(body: [sit]), +                                   { text(body: [Latin stuff.]), +                                     parbreak() }))), +                 parbreak() })
+ test/typ/layout/terms-02.out view
@@ -0,0 +1,94 @@+--- parse tree ---+[ Code+    "typ/layout/terms-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/terms-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/terms-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/terms-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 8.0 Pt)) ])+, ParBreak+, DescListItem+    [ Text "Fruit" ]+    [ Text "A"+    , Space+    , Text "tasty,"+    , Space+    , Text "edible"+    , Space+    , Text "thing"+    , Text "."+    ]+, SoftBreak+, DescListItem+    [ Text "Veggie" ]+    [ SoftBreak+    , Text "An"+    , Space+    , Text "important"+    , Space+    , Text "energy"+    , Space+    , Text "source"+    , SoftBreak+    , Text "for"+    , Space+    , Text "vegetarians"+    , Text "."+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 terms(children: ((text(body: [Fruit], +                                        size: 8.0pt), +                                   text(body: [A tasty, edible thing.], +                                        size: 8.0pt)), +                                  (text(body: [Veggie], +                                        size: 8.0pt), +                                   { text(body: [+An important energy source+for vegetarians.], +                                          size: 8.0pt), +                                     parbreak() }))) })
+ test/typ/layout/terms-03.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/layout/terms-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/terms-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/terms-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/terms-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 8.0 Pt)) ])+, SoftBreak+, DescListItem+    [ Text "First" , Space , Text "list" ]+    [ Code+        "typ/layout/terms-03.typ"+        ( line 4 , column 16 )+        (FuncCall+           (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 6)) ])+    , SoftBreak+    ]+, SoftBreak+, Code+    "typ/layout/terms-03.typ"+    ( line 6 , column 2 )+    (Set+       (Ident (Identifier "terms"))+       [ KeyValArg+           (Identifier "hanging-indent") (Literal (Numeric 30.0 Pt))+       ])+, SoftBreak+, DescListItem+    [ Text "Second" , Space , Text "list" ]+    [ Code+        "typ/layout/terms-03.typ"+        ( line 7 , column 17 )+        (FuncCall+           (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 5)) ])+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], size: 8.0pt), +                 terms(children: ((text(body: [First list], +                                        size: 8.0pt), +                                   { text(body: [Lorem ipsum dolor sit amet, consectetur], +                                          size: 8.0pt), +                                     text(body: [+], +                                          size: 8.0pt) }))), +                 text(body: [+], size: 8.0pt), +                 terms(children: ((text(body: [Second list], +                                        size: 8.0pt), +                                   { text(body: [Lorem ipsum dolor sit amet,], +                                          size: 8.0pt), +                                     parbreak() })), +                       hanging-indent: 30.0pt) })
+ test/typ/layout/terms-04.out view
@@ -0,0 +1,104 @@+--- parse tree ---+[ Code+    "typ/layout/terms-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/terms-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/terms-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/terms-04.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "terms")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (FuncCall+             (Ident (Identifier "table"))+             [ KeyValArg (Identifier "columns") (Literal (Int 2))+             , KeyValArg (Identifier "inset") (Literal (Numeric 3.0 Pt))+             , SpreadArg+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "flatten"))+                       (FuncCall+                          (FieldAccess+                             (Ident (Identifier "map"))+                             (FieldAccess+                                (Ident (Identifier "children")) (Ident (Identifier "it"))))+                          [ NormalArg+                              (FuncExpr+                                 [ NormalParam (Identifier "v") ]+                                 (Array+                                    [ Reg+                                        (FuncCall+                                           (Ident (Identifier "emph"))+                                           [ NormalArg+                                               (FieldAccess+                                                  (Ident (Identifier "term"))+                                                  (Ident (Identifier "v")))+                                           ])+                                    , Reg+                                        (FieldAccess+                                           (Ident (Identifier "description"))+                                           (Ident (Identifier "v")))+                                    ]))+                          ]))+                    [])+             ])))+, ParBreak+, DescListItem [ Text "A" ] [ Text "One" , Space , Text "letter" ]+, SoftBreak+, DescListItem+    [ Text "BB" ] [ Text "Two" , Space , Text "letters" ]+, SoftBreak+, DescListItem+    [ Text "CCC" ] [ Text "Three" , Space , Text "letters" , ParBreak ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 table(children: (emph(body: text(body: [A])), +                                  text(body: [One letter]), +                                  emph(body: text(body: [BB])), +                                  text(body: [Two letters]), +                                  emph(body: text(body: [CCC])), +                                  { text(body: [Three letters]), +                                    parbreak() }), +                       columns: 2, +                       inset: 3.0pt) })
+ test/typ/layout/terms-05.out view
@@ -0,0 +1,61 @@+--- parse tree ---+[ Code+    "typ/layout/terms-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/terms-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/terms-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, DescListItem [ Text "Term" ] []+, SoftBreak+, Text "Not"+, Space+, Text "in"+, Space+, Text "list"+, SoftBreak+, Text "/"+, Text "Nope"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 terms(children: ((text(body: [Term]), +                                   {  }))), +                 text(body: [Not in list+/Nope]), +                 parbreak() })
+ test/typ/layout/terms-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/layout/transform-00.out view
@@ -0,0 +1,214 @@+--- parse tree ---+[ Code+    "typ/layout/transform-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/transform-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/transform-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/transform-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "size"))) (Literal (Numeric 11.0 Pt)))+, SoftBreak+, Code+    "typ/layout/transform-00.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "tex")))+       (Block+          (CodeBlock+             [ Block (Content [ Text "T" ])+             , FuncCall+                 (Ident (Identifier "h"))+                 [ NormalArg+                     (Times+                        (Negated (Literal (Float 0.14))) (Ident (Identifier "size")))+                 ]+             , FuncCall+                 (Ident (Identifier "box"))+                 [ NormalArg+                     (FuncCall+                        (Ident (Identifier "move"))+                        [ KeyValArg+                            (Identifier "dy")+                            (Times (Literal (Float 0.22)) (Ident (Identifier "size")))+                        , BlockArg [ Text "E" ]+                        ])+                 ]+             , FuncCall+                 (Ident (Identifier "h"))+                 [ NormalArg+                     (Times+                        (Negated (Literal (Float 0.12))) (Ident (Identifier "size")))+                 ]+             , Block (Content [ Text "X" ])+             ])))+, ParBreak+, Code+    "typ/layout/transform-00.typ"+    ( line 12 , column 2 )+    (Let+       (BasicBind (Just (Identifier "xetex")))+       (Block+          (CodeBlock+             [ Block (Content [ Text "X" ])+             , FuncCall+                 (Ident (Identifier "h"))+                 [ NormalArg+                     (Times+                        (Negated (Literal (Float 0.14))) (Ident (Identifier "size")))+                 ]+             , FuncCall+                 (Ident (Identifier "box"))+                 [ NormalArg+                     (FuncCall+                        (Ident (Identifier "scale"))+                        [ KeyValArg+                            (Identifier "x") (Negated (Literal (Numeric 100.0 Percent)))+                        , NormalArg+                            (FuncCall+                               (Ident (Identifier "move"))+                               [ KeyValArg+                                   (Identifier "dy")+                                   (Times (Literal (Float 0.26)) (Ident (Identifier "size")))+                               , BlockArg [ Text "E" ]+                               ])+                        ])+                 ]+             , FuncCall+                 (Ident (Identifier "h"))+                 [ NormalArg+                     (Times+                        (Negated (Literal (Float 0.14))) (Ident (Identifier "size")))+                 ]+             , Block (Content [ Text "T" ])+             , FuncCall+                 (Ident (Identifier "h"))+                 [ NormalArg+                     (Times+                        (Negated (Literal (Float 0.14))) (Ident (Identifier "size")))+                 ]+             , FuncCall+                 (Ident (Identifier "box"))+                 [ NormalArg+                     (FuncCall+                        (Ident (Identifier "move"))+                        [ KeyValArg+                            (Identifier "dy")+                            (Times (Literal (Float 0.26)) (Ident (Identifier "size")))+                        , BlockArg [ Text "E" ]+                        ])+                 ]+             , FuncCall+                 (Ident (Identifier "h"))+                 [ NormalArg+                     (Times+                        (Negated (Literal (Float 0.12))) (Ident (Identifier "size")))+                 ]+             , Block (Content [ Text "X" ])+             ])))+, ParBreak+, Code+    "typ/layout/transform-00.typ"+    ( line 24 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font") (Literal (String "New Computer Modern"))+       , NormalArg (Ident (Identifier "size"))+       ])+, SoftBreak+, Text "Neither"+, Space+, Code+    "typ/layout/transform-00.typ"+    ( line 25 , column 10 )+    (Ident (Identifier "tex"))+, Text ","+, Space+, HardBreak+, Text "nor"+, Space+, Code+    "typ/layout/transform-00.typ"+    ( line 26 , column 6 )+    (Ident (Identifier "xetex"))+, Text "!"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 parbreak(), +                 text(body: [+Neither ], +                      font: "New Computer Modern", +                      size: 11.0pt), +                 text(body: [T]), +                 h(amount: -1.54pt), +                 box(body: move(body: text(body: [E]), +                                dy: 2.42pt)), +                 h(amount: -1.3199999999999998pt), +                 text(body: [X]), +                 text(body: [, ], +                      font: "New Computer Modern", +                      size: 11.0pt), +                 linebreak(), +                 text(body: [nor ], +                      font: "New Computer Modern", +                      size: 11.0pt), +                 text(body: [X]), +                 h(amount: -1.54pt), +                 box(body: scale(body: move(body: text(body: [E]), +                                            dy: 2.8600000000000003pt), +                                 x: -100%)), +                 h(amount: -1.54pt), +                 text(body: [T]), +                 h(amount: -1.54pt), +                 box(body: move(body: text(body: [E]), +                                dy: 2.8600000000000003pt)), +                 h(amount: -1.3199999999999998pt), +                 text(body: [X]), +                 text(body: [!], +                      font: "New Computer Modern", +                      size: 11.0pt), +                 parbreak() })
+ test/typ/layout/transform-01.out view
@@ -0,0 +1,83 @@+--- parse tree ---+[ Code+    "typ/layout/transform-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/transform-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/transform-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/transform-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 80.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/transform-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg+           (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rotate"))+              [ NormalArg (Literal (Numeric 20.0 Deg))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "scale"))+                     [ NormalArg (Literal (Numeric 70.0 Percent))+                     , NormalArg+                         (FuncCall+                            (Ident (Identifier "image"))+                            [ NormalArg (Literal (String "/assets/files/tiger.jpg")) ])+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 align(alignment: Axes(center, horizon), +                       body: rotate(angle: 20.0deg, +                                    body: scale(body: image(path: "/assets/files/tiger.jpg"), +                                                factor: 70%))), +                 parbreak() })
+ test/typ/layout/transform-02.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/layout/transform-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/transform-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/transform-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/transform-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "rotate"))+       [ NormalArg (Literal (Numeric 10.0 Deg))+       , KeyValArg+           (Identifier "origin")+           (Plus (Ident (Identifier "top")) (Ident (Identifier "left")))+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))+              , KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 rotate(angle: 10.0deg, +                        body: image(path: "/assets/files/tiger.jpg", +                                    width: 50%), +                        origin: Axes(left, top)), +                 parbreak() })
+ test/typ/layout/transform-03.out view
@@ -0,0 +1,139 @@+--- parse tree ---+[ Code+    "typ/layout/transform-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/layout/transform-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/layout/transform-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/layout/transform-03.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "r")))+       (FuncCall+          (Ident (Identifier "rect"))+          [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Pt))+          , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+          , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+          ]))+, SoftBreak+, Code+    "typ/layout/transform-03.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 65.0 Pt)) ])+, SoftBreak+, Code+    "typ/layout/transform-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "scale"))+              [ NormalArg (Ident (Identifier "r"))+              , KeyValArg (Identifier "x") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "y") (Literal (Numeric 200.0 Percent))+              , KeyValArg+                  (Identifier "origin")+                  (Plus (Ident (Identifier "left")) (Ident (Identifier "top")))+              ])+       ])+, SoftBreak+, Code+    "typ/layout/transform-03.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "scale"))+              [ NormalArg (Ident (Identifier "r"))+              , KeyValArg (Identifier "x") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "origin") (Ident (Identifier "center"))+              ])+       ])+, SoftBreak+, Code+    "typ/layout/transform-03.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "scale"))+              [ NormalArg (Ident (Identifier "r"))+              , KeyValArg (Identifier "x") (Literal (Numeric 50.0 Percent))+              , KeyValArg (Identifier "y") (Literal (Numeric 200.0 Percent))+              , KeyValArg+                  (Identifier "origin")+                  (Plus (Ident (Identifier "right")) (Ident (Identifier "bottom")))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 box(body: scale(body: rect(fill: rgb(100%,25%,21%,100%), +                                            height: 10.0pt, +                                            width: 100.0pt), +                                 origin: Axes(left, top), +                                 x: 50%, +                                 y: 200%)), +                 text(body: [+]), +                 box(body: scale(body: rect(fill: rgb(100%,25%,21%,100%), +                                            height: 10.0pt, +                                            width: 100.0pt), +                                 origin: center, +                                 x: 50%)), +                 text(body: [+]), +                 box(body: scale(body: rect(fill: rgb(100%,25%,21%,100%), +                                            height: 10.0pt, +                                            width: 100.0pt), +                                 origin: Axes(right, bottom), +                                 x: 50%, +                                 y: 200%)), +                 parbreak() })
+ test/typ/math/accent-00.out view
@@ -0,0 +1,155 @@+--- parse tree ---+[ Code+    "typ/math/accent-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/accent-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/accent-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Code+        "typ/math/accent-00.typ"+        ( line 3 , column 2 )+        (FuncCall (Ident (Identifier "grave")) [ BlockArg [ Text "a" ] ])+    , Text ","+    , Code+        "typ/math/accent-00.typ"+        ( line 3 , column 12 )+        (FuncCall (Ident (Identifier "acute")) [ BlockArg [ Text "b" ] ])+    , Text ","+    , Code+        "typ/math/accent-00.typ"+        ( line 3 , column 22 )+        (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "f" ] ])+    , Text ","+    , Code+        "typ/math/accent-00.typ"+        ( line 3 , column 30 )+        (FuncCall+           (Ident (Identifier "tilde")) [ BlockArg [ Text "\167" ] ])+    , Text ","+    , Code+        "typ/math/accent-00.typ"+        ( line 3 , column 40 )+        (FuncCall+           (Ident (Identifier "macron")) [ BlockArg [ Text "\228" ] ])+    , Text ","+    , Code+        "typ/math/accent-00.typ"+        ( line 3 , column 51 )+        (FuncCall (Ident (Identifier "diaer")) [ BlockArg [ Text "a" ] ])+    , Text ","+    , Text "\228"+    , HardBreak+    , Code+        "typ/math/accent-00.typ"+        ( line 4 , column 2 )+        (FuncCall (Ident (Identifier "breve")) [ BlockArg [ Text "&" ] ])+    , Text ","+    , Code+        "typ/math/accent-00.typ"+        ( line 4 , column 13 )+        (FuncCall (Ident (Identifier "dot")) [ BlockArg [ Text "!" ] ])+    , Text ","+    , Code+        "typ/math/accent-00.typ"+        ( line 4 , column 21 )+        (FuncCall (Ident (Identifier "circle")) [ BlockArg [ Text "a" ] ])+    , Text ","+    , Code+        "typ/math/accent-00.typ"+        ( line 4 , column 32 )+        (FuncCall (Ident (Identifier "caron")) [ BlockArg [ Text "@" ] ])+    , Text ","+    , Code+        "typ/math/accent-00.typ"+        ( line 4 , column 42 )+        (FuncCall (Ident (Identifier "arrow")) [ BlockArg [ Text "Z" ] ])+    , Text ","+    , Code+        "typ/math/accent-00.typ"+        ( line 4 , column 52 )+        (FuncCall+           (FieldAccess (Ident (Identifier "l")) (Ident (Identifier "arrow")))+           [ BlockArg [ Text "Z" ] ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { math.accent(accent: `, +                                                   base: text(body: [a])), +                                       text(body: [,]), +                                       math.accent(accent: ´, +                                                   base: text(body: [b])), +                                       text(body: [,]), +                                       math.accent(accent: ^, +                                                   base: text(body: [f])), +                                       text(body: [,]), +                                       math.accent(accent: ∼, +                                                   base: text(body: [§])), +                                       text(body: [,]), +                                       math.accent(accent: ¯, +                                                   base: text(body: [ä])), +                                       text(body: [,]), +                                       math.accent(accent: ¨, +                                                   base: text(body: [a])), +                                       text(body: [,]), +                                       text(body: [ä]), +                                       linebreak(), +                                       math.accent(accent: ˘, +                                                   base: text(body: [&])), +                                       text(body: [,]), +                                       math.accent(accent: ⋅, +                                                   base: text(body: [!])), +                                       text(body: [,]), +                                       math.accent(accent: ○, +                                                   base: text(body: [a])), +                                       text(body: [,]), +                                       math.accent(accent: ˇ, +                                                   base: text(body: [@])), +                                       text(body: [,]), +                                       math.accent(accent: →, +                                                   base: text(body: [Z])), +                                       text(body: [,]), +                                       math.accent(accent: ←, +                                                   base: text(body: [Z])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/accent-01.out view
@@ -0,0 +1,125 @@+--- parse tree ---+[ Code+    "typ/math/accent-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/accent-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/accent-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    True+    [ Text "x"+    , MAlignPoint+    , Text "="+    , Text "p"+    , HardBreak+    , Code+        "typ/math/accent-01.typ"+        ( line 2 , column 12 )+        (FuncCall (Ident (Identifier "dot")) [ BlockArg [ Text "x" ] ])+    , MAlignPoint+    , Text "="+    , Text "v"+    , HardBreak+    , Code+        "typ/math/accent-01.typ"+        ( line 2 , column 26 )+        (FuncCall+           (FieldAccess+              (Ident (Identifier "double")) (Ident (Identifier "dot")))+           [ BlockArg [ Text "x" ] ])+    , MAlignPoint+    , Text "="+    , Text "a"+    , HardBreak+    , Code+        "typ/math/accent-01.typ"+        ( line 2 , column 47 )+        (FuncCall+           (FieldAccess+              (Ident (Identifier "triple")) (Ident (Identifier "dot")))+           [ BlockArg [ Text "x" ] ])+    , MAlignPoint+    , Text "="+    , Text "j"+    , HardBreak+    , Code+        "typ/math/accent-01.typ"+        ( line 2 , column 68 )+        (FuncCall+           (FieldAccess+              (Ident (Identifier "quad")) (Ident (Identifier "dot")))+           [ BlockArg [ Text "x" ] ])+    , MAlignPoint+    , Text "="+    , Text "s"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [x]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [p]), +                                       linebreak(), +                                       math.accent(accent: ⋅, +                                                   base: text(body: [x])), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [v]), +                                       linebreak(), +                                       math.accent(accent: ¨, +                                                   base: text(body: [x])), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [a]), +                                       linebreak(), +                                       math.accent(accent: ⃛, +                                                   base: text(body: [x])), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [j]), +                                       linebreak(), +                                       math.accent(accent: ⃜, +                                                   base: text(body: [x])), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [s]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/accent-02.out view
@@ -0,0 +1,95 @@+--- parse tree ---+[ Code+    "typ/math/accent-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/accent-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/accent-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Code+        "typ/math/accent-02.typ"+        ( line 3 , column 2 )+        (FuncCall+           (Ident (Identifier "accent"))+           [ BlockArg [ Text "\246" ] , BlockArg [ Text "." ] ])+    , Text ","+    , Code+        "typ/math/accent-02.typ"+        ( line 3 , column 16 )+        (FuncCall+           (Ident (Identifier "accent"))+           [ BlockArg [ Text "v" ]+           , BlockArg+               [ Code+                   "typ/math/accent-02.typ"+                   ( line 3 , column 26 )+                   (FieldAccess (Ident (Identifier "l")) (Ident (Identifier "arrow")))+               ]+           ])+    , Text ","+    , Code+        "typ/math/accent-02.typ"+        ( line 3 , column 31 )+        (FuncCall+           (Ident (Identifier "accent"))+           [ BlockArg+               [ Code+                   "typ/math/accent-02.typ"+                   ( line 3 , column 38 )+                   (Ident (Identifier "ZZ"))+               ]+           , BlockArg [ Text "\771" ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { math.accent(accent: text(body: [.]), +                                                   base: text(body: [ö])), +                                       text(body: [,]), +                                       math.accent(accent: text(body: [←]), +                                                   base: text(body: [v])), +                                       text(body: [,]), +                                       math.accent(accent: text(body: [̃]), +                                                   base: text(body: [ℤ])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/accent-03.out view
@@ -0,0 +1,82 @@+--- parse tree ---+[ Code+    "typ/math/accent-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/accent-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/accent-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Code+        "typ/math/accent-03.typ"+        ( line 3 , column 2 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg+               [ Code+                   "typ/math/accent-03.typ"+                   ( line 3 , column 7 )+                   (FuncCall (Ident (Identifier "tilde")) [ BlockArg [ Text "T" ] ])+               ]+           ])+    , Text "+"+    , MFrac+        (Code+           "typ/math/accent-03.typ"+           ( line 3 , column 19 )+           (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "f" ] ]))+        (Code+           "typ/math/accent-03.typ"+           ( line 3 , column 26 )+           (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "g" ] ]))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { math.sqrt(radicand: math.accent(accent: ∼, +                                                                       base: text(body: [T]))), +                                       text(body: [+]), +                                       math.frac(denom: math.accent(accent: ^, +                                                                    base: text(body: [g])), +                                                 num: math.accent(accent: ^, +                                                                  base: text(body: [f]))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/accent-04.out view
@@ -0,0 +1,79 @@+--- parse tree ---+[ Code+    "typ/math/accent-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/accent-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/accent-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Code+        "typ/math/accent-04.typ"+        ( line 3 , column 2 )+        (FuncCall+           (Ident (Identifier "arrow"))+           [ BlockArg [ Text "ABC " , Text "+" , Text "d" ] ])+    , Text ","+    , Code+        "typ/math/accent-04.typ"+        ( line 3 , column 20 )+        (FuncCall+           (Ident (Identifier "tilde"))+           [ BlockArg+               [ Code+                   "typ/math/accent-04.typ"+                   ( line 3 , column 26 )+                   (Ident (Identifier "sum"))+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { math.accent(accent: →, +                                                   base: { text(body: [ABC ]), +                                                           text(body: [+]), +                                                           text(body: [d]) }), +                                       text(body: [,]), +                                       math.accent(accent: ∼, +                                                   base: text(body: [∑])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/accent-05.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/math/accent-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/accent-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/accent-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ MAttach Nothing (Just (Text "x")) (Text "A")+    , Code+        "typ/math/accent-05.typ"+        ( line 3 , column 6 )+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))+    , MAttach+        Nothing+        (Just (Text "x"))+        (Code+           "typ/math/accent-05.typ"+           ( line 3 , column 9 )+           (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "A" ] ]))+    , Code+        "typ/math/accent-05.typ"+        ( line 3 , column 18 )+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))+    , MAttach+        Nothing+        (Just (Text "x"))+        (Code+           "typ/math/accent-05.typ"+           ( line 3 , column 21 )+           (FuncCall+              (Ident (Identifier "hat"))+              [ BlockArg+                  [ Code+                      "typ/math/accent-05.typ"+                      ( line 3 , column 25 )+                      (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "A" ] ])+                  ]+              ]))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { math.attach(b: none, +                                                   base: text(body: [A]), +                                                   t: text(body: [x])), +                                       text(body: [≠]), +                                       math.attach(b: none, +                                                   base: math.accent(accent: ^, +                                                                     base: text(body: [A])), +                                                   t: text(body: [x])), +                                       text(body: [≠]), +                                       math.attach(b: none, +                                                   base: math.accent(accent: ^, +                                                                     base: math.accent(accent: ^, +                                                                                       base: text(body: [A]))), +                                                   t: text(body: [x])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/accent-06.out view
@@ -0,0 +1,109 @@+--- parse tree ---+[ Code+    "typ/math/accent-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/accent-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/accent-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/accent-06.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "tilde"))+           [ BlockArg+               [ Code+                   "typ/math/accent-06.typ"+                   ( line 3 , column 9 )+                   (Ident (Identifier "integral"))+               ]+           ])+    , Text ","+    , MAttach+        (Just (Text "a"))+        (Just (Text "b"))+        (Code+           "typ/math/accent-06.typ"+           ( line 3 , column 20 )+           (FuncCall+              (Ident (Identifier "tilde"))+              [ BlockArg+                  [ Code+                      "typ/math/accent-06.typ"+                      ( line 3 , column 26 )+                      (Ident (Identifier "integral"))+                  ]+              ]))+    , Text ","+    , Code+        "typ/math/accent-06.typ"+        ( line 3 , column 41 )+        (FuncCall+           (Ident (Identifier "tilde"))+           [ BlockArg+               [ MAttach+                   (Just (Text "a"))+                   (Just (Text "b"))+                   (Code+                      "typ/math/accent-06.typ"+                      ( line 3 , column 47 )+                      (Ident (Identifier "integral")))+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.accent(accent: ∼, +                                                   base: text(body: [∫])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [a]), +                                                   base: math.accent(accent: ∼, +                                                                     base: text(body: [∫])), +                                                   t: text(body: [b])), +                                       text(body: [,]), +                                       math.accent(accent: ∼, +                                                   base: math.attach(b: text(body: [a]), +                                                                     base: text(body: [∫]), +                                                                     t: text(body: [b]))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/alignment-00.out view
@@ -0,0 +1,118 @@+--- parse tree ---+[ Code+    "typ/math/alignment-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/alignment-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/alignment-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/alignment-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 225.0 Pt)) ])+, SoftBreak+, Equation+    True+    [ Text " a "+    , MAlignPoint+    , Text "="+    , Text "c"+    , HardBreak+    , MAlignPoint+    , Text "="+    , Text "c"+    , Text "+"+    , Text "1"+    , MAlignPoint+    , Text " By definition "+    , HardBreak+    , MAlignPoint+    , Text "="+    , Text "d"+    , Text "+"+    , Text "100"+    , Text "+"+    , Text "1000"+    , HardBreak+    , MAlignPoint+    , Text "="+    , Text "x"+    , MAlignPoint+    , MAlignPoint+    , Text " Even longer "+    , HardBreak+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [ a ]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [c]), +                                       linebreak(), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [c]), +                                       text(body: [+]), +                                       text(body: [1]), +                                       math.alignpoint(), +                                       text(body: [ By definition ]), +                                       linebreak(), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [d]), +                                       text(body: [+]), +                                       text(body: [100]), +                                       text(body: [+]), +                                       text(body: [1000]), +                                       linebreak(), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [x]), +                                       math.alignpoint(), +                                       math.alignpoint(), +                                       text(body: [ Even longer ]), +                                       linebreak() }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/alignment-01.out view
@@ -0,0 +1,67 @@+--- parse tree ---+[ Code+    "typ/math/alignment-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/alignment-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/alignment-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MAlignPoint+    , Text " right "+    , HardBreak+    , Text "a very long line "+    , HardBreak+    , Text "left "+    , HardBreak+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.alignpoint(), +                                       text(body: [ right ]), +                                       linebreak(), +                                       text(body: [a very long line ]), +                                       linebreak(), +                                       text(body: [left ]), +                                       linebreak() }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/alignment-02.out view
@@ -0,0 +1,65 @@+--- parse tree ---+[ Code+    "typ/math/alignment-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/alignment-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/alignment-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text " right "+    , HardBreak+    , Text "a very long line "+    , HardBreak+    , Text "left "+    , HardBreak+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [ right ]), +                                       linebreak(), +                                       text(body: [a very long line ]), +                                       linebreak(), +                                       text(body: [left ]), +                                       linebreak() }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/alignment-03.out view
@@ -0,0 +1,96 @@+--- parse tree ---+[ Code+    "typ/math/alignment-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/alignment-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/alignment-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "a"+    , MAlignPoint+    , Text "="+    , Text "b"+    , MAlignPoint+    , Code+        "typ/math/alignment-03.typ"+        ( line 4 , column 9 )+        (Ident (Identifier "quad"))+    , Text "c"+    , MAlignPoint+    , Text "="+    , Text "d"+    , HardBreak+    , Text "e"+    , MAlignPoint+    , Text "="+    , Text "f"+    , MAlignPoint+    , Text "g"+    , MAlignPoint+    , Text "="+    , Text "h"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [a]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [b]), +                                       math.alignpoint(), +                                       text(body: [ ]), +                                       text(body: [c]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [d]), +                                       linebreak(), +                                       text(body: [e]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [f]), +                                       math.alignpoint(), +                                       text(body: [g]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [h]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/attach-00.out view
@@ -0,0 +1,99 @@+--- parse tree ---+[ Code+    "typ/math/attach-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/attach-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/attach-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ MAttach (Just (Text "x")) Nothing (Text "f")+    , Text "+"+    , MAttach Nothing (Just (Text "b")) (Text "t")+    , Text "+"+    , MAttach (Just (Text "1")) (Just (Text "2")) (Text "V")+    , Text "+"+    , Code+        "typ/math/attach-00.typ"+        ( line 3 , column 22 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "A" ]+           , KeyValArg+               (Identifier "t")+               (Block+                  (Content+                     [ Code+                         "typ/math/attach-00.typ"+                         ( line 3 , column 35 )+                         (Ident (Identifier "alpha"))+                     ]))+           , KeyValArg+               (Identifier "b")+               (Block+                  (Content+                     [ Code+                         "typ/math/attach-00.typ"+                         ( line 3 , column 45 )+                         (Ident (Identifier "beta"))+                     ]))+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { math.attach(b: text(body: [x]), +                                                   base: text(body: [f]), +                                                   t: none), +                                       text(body: [+]), +                                       math.attach(b: none, +                                                   base: text(body: [t]), +                                                   t: text(body: [b])), +                                       text(body: [+]), +                                       math.attach(b: text(body: [1]), +                                                   base: text(body: [V]), +                                                   t: text(body: [2])), +                                       text(body: [+]), +                                       math.attach(b: text(body: [β]), +                                                   base: text(body: [A]), +                                                   t: text(body: [α])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/attach-01.out view
@@ -0,0 +1,143 @@+--- parse tree ---+[ Code+    "typ/math/attach-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/attach-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/attach-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Equation+    True+    [ Code+        "typ/math/attach-01.typ"+        ( line 5 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-01.typ"+                   ( line 5 , column 8 )+                   (FuncCall (Ident (Identifier "upright")) [ BlockArg [ Text "O" ] ])+               ]+           , KeyValArg (Identifier "bl") (Block (Content [ Text "8" ]))+           , KeyValArg (Identifier "tl") (Block (Content [ Text "16" ]))+           , KeyValArg (Identifier "br") (Block (Content [ Text "2" ]))+           , KeyValArg+               (Identifier "tr")+               (Block+                  (Content+                     [ Text "2"+                     , Code+                         "typ/math/attach-01.typ"+                         ( line 5 , column 47 )+                         (Ident (Identifier "minus"))+                     ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-01.typ"+        ( line 6 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "Pb" ]+           , KeyValArg (Identifier "bl") (Block (Content [ Text "82" ]))+           , KeyValArg (Identifier "tl") (Block (Content [ Text "207" ]))+           ])+    , Text "+"+    , Code+        "typ/math/attach-01.typ"+        ( line 6 , column 33 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-01.typ"+                   ( line 6 , column 40 )+                   (FuncCall (Ident (Identifier "upright")) [ BlockArg [ Text "e" ] ])+               ]+           , KeyValArg+               (Identifier "bl")+               (Block+                  (Content+                     [ Code+                         "typ/math/attach-01.typ"+                         ( line 6 , column 56 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     ]))+           , KeyValArg (Identifier "tl") (Block (Content [ Text "0" ]))+           ])+    , Text "+"+    , MAttach+        (Just (Text "e"))+        Nothing+        (Code+           "typ/math/attach-01.typ"+           ( line 6 , column 69 )+           (FuncCall (Ident (Identifier "macron")) [ BlockArg [ Text "v" ] ]))+    , HardBreak+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(base: math.upright(body: text(body: [O])), +                                                   bl: text(body: [8]), +                                                   br: text(body: [2]), +                                                   tl: text(body: [16]), +                                                   tr: { text(body: [2]), +                                                         text(body: [−]) }), +                                       text(body: [,]), +                                       math.attach(base: text(body: [Pb]), +                                                   bl: text(body: [82]), +                                                   tl: text(body: [207])), +                                       text(body: [+]), +                                       math.attach(base: math.upright(body: text(body: [e])), +                                                   bl: { text(body: [−]), +                                                         text(body: [1]) }, +                                                   tl: text(body: [0])), +                                       text(body: [+]), +                                       math.attach(b: text(body: [e]), +                                                   base: math.accent(accent: ¯, +                                                                     base: text(body: [v])), +                                                   t: none), +                                       linebreak() }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/attach-02.out view
@@ -0,0 +1,465 @@+--- parse tree ---+[ Code+    "typ/math/attach-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/attach-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/attach-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/attach-02.typ"+        ( line 4 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 4 , column 21 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 4 , column 41 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 5 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))+           ])+    , Text ","+    , MAttach+        Nothing+        (Just (Text "t"))+        (Code+           "typ/math/attach-02.typ"+           ( line 5 , column 21 )+           (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ]))+    , Text ","+    , MAttach+        (Just (Text "b"))+        Nothing+        (Code+           "typ/math/attach-02.typ"+           ( line 5 , column 41 )+           (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ]))+    , HardBreak+    , Code+        "typ/math/attach-02.typ"+        ( line 7 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))+           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 8 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))+           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 9 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 10 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-02.typ"+                   ( line 10 , column 8 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])+               ]+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 11 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))+           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 12 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-02.typ"+                   ( line 12 , column 8 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])+               ]+           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))+           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))+           ])+    , HardBreak+    , Code+        "typ/math/attach-02.typ"+        ( line 14 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))+           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 15 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-02.typ"+                   ( line 15 , column 8 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])+               ]+           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))+           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 16 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-02.typ"+                   ( line 16 , column 8 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])+               ]+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 17 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))+           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 18 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-02.typ"+                   ( line 18 , column 8 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])+               ]+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 19 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-02.typ"+                   ( line 19 , column 8 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])+               ]+           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))+           , KeyValArg (Identifier "bl") (Block (Content [ Text "u" ]))+           ])+    , Text ","+    , MAttach+        (Just (Text "b"))+        (Just (Text "t"))+        (Code+           "typ/math/attach-02.typ"+           ( line 20 , column 1 )+           (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ]))+    , HardBreak+    , Code+        "typ/math/attach-02.typ"+        ( line 22 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))+           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))+           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))+           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 23 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-02.typ"+                   ( line 23 , column 8 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])+               ]+           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))+           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))+           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 24 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-02.typ"+                   ( line 24 , column 8 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])+               ]+           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))+           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))+           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 25 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-02.typ"+                   ( line 25 , column 8 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])+               ]+           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))+           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))+           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 26 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-02.typ"+                   ( line 26 , column 8 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "a" ] ])+               ]+           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))+           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))+           ])+    , Text ","+    , Code+        "typ/math/attach-02.typ"+        ( line 27 , column 1 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "a" ]+           , KeyValArg (Identifier "tl") (Block (Content [ Text "u" ]))+           , KeyValArg (Identifier "t") (Block (Content [ Text "t" ]))+           , KeyValArg (Identifier "tr") (Block (Content [ Text "v" ]))+           , KeyValArg (Identifier "bl") (Block (Content [ Text "x" ]))+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           , KeyValArg (Identifier "br") (Block (Content [ Text "y" ]))+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(base: text(body: [a]), +                                                   tl: text(body: [u])), +                                       text(body: [,]), +                                       math.attach(base: text(body: [a]), +                                                   tr: text(body: [v])), +                                       text(body: [,]), +                                       math.attach(base: text(body: [a]), +                                                   bl: text(body: [x])), +                                       text(body: [,]), +                                       math.attach(base: text(body: [a]), +                                                   br: text(body: [y])), +                                       text(body: [,]), +                                       math.attach(b: none, +                                                   base: math.limits(body: text(body: [a])), +                                                   t: text(body: [t])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: text(body: [a])), +                                                   t: none), +                                       linebreak(), +                                       math.attach(base: text(body: [a]), +                                                   t: text(body: [t]), +                                                   tr: text(body: [v])), +                                       text(body: [,]), +                                       math.attach(base: text(body: [a]), +                                                   br: text(body: [y]), +                                                   tr: text(body: [v])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: text(body: [a]), +                                                   br: text(body: [y])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: text(body: [a])), +                                                   bl: text(body: [x])), +                                       text(body: [,]), +                                       math.attach(base: text(body: [a]), +                                                   bl: text(body: [x]), +                                                   tl: text(body: [u])), +                                       text(body: [,]), +                                       math.attach(base: math.limits(body: text(body: [a])), +                                                   t: text(body: [t]), +                                                   tl: text(body: [u])), +                                       linebreak(), +                                       math.attach(base: text(body: [a]), +                                                   tl: text(body: [u]), +                                                   tr: text(body: [v])), +                                       text(body: [,]), +                                       math.attach(base: math.limits(body: text(body: [a])), +                                                   br: text(body: [y]), +                                                   t: text(body: [t])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: text(body: [a])), +                                                   tr: text(body: [v])), +                                       text(body: [,]), +                                       math.attach(base: text(body: [a]), +                                                   bl: text(body: [x]), +                                                   br: text(body: [y])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: text(body: [a])), +                                                   tl: text(body: [u])), +                                       text(body: [,]), +                                       math.attach(base: math.limits(body: text(body: [a])), +                                                   bl: text(body: [u]), +                                                   t: text(body: [t])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: text(body: [a])), +                                                   t: text(body: [t])), +                                       linebreak(), +                                       math.attach(base: text(body: [a]), +                                                   bl: text(body: [x]), +                                                   br: text(body: [y]), +                                                   tl: text(body: [u]), +                                                   tr: text(body: [v])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: text(body: [a])), +                                                   bl: text(body: [x]), +                                                   br: text(body: [y]), +                                                   t: text(body: [t])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: text(body: [a])), +                                                   t: text(body: [t]), +                                                   tl: text(body: [u]), +                                                   tr: text(body: [v])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: text(body: [a])), +                                                   bl: text(body: [x]), +                                                   t: text(body: [t]), +                                                   tl: text(body: [u])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: text(body: [a])), +                                                   br: text(body: [y]), +                                                   t: text(body: [t]), +                                                   tr: text(body: [v])), +                                       text(body: [,]), +                                       math.attach(b: text(body: [b]), +                                                   base: text(body: [a]), +                                                   bl: text(body: [x]), +                                                   br: text(body: [y]), +                                                   t: text(body: [t]), +                                                   tl: text(body: [u]), +                                                   tr: text(body: [v])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/attach-03.out view
@@ -0,0 +1,157 @@+--- parse tree ---+[ Code+    "typ/math/attach-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/attach-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/attach-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ MAttach+        (Just (Text "1"))+        Nothing+        (Code+           "typ/math/attach-03.typ"+           ( line 3 , column 2 )+           (Ident (Identifier "pi")))+    , MGroup (Just "(") (Just ")") [ Text "Y" ]+    , Text ","+    , MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]))+        Nothing+        (Text "a")+    , Text ","+    , MAttach+        Nothing+        (Just+           (Code+              "typ/math/attach-03.typ"+              ( line 3 , column 21 )+              (FuncCall (Ident (Identifier "zeta")) [ BlockArg [ Text "x" ] ])))+        (Text "a")+    , HardBreak+    , MAttach+        Nothing+        (Just+           (Code+              "typ/math/attach-03.typ"+              ( line 4 , column 4 )+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "eq")) (Ident (Identifier "subset")))+                 [ BlockArg [ Text "x" ] ])))+        (Text "a")+    , Text ","+    , MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Code+                  "typ/math/attach-03.typ"+                  ( line 4 , column 21 )+                  (FuncCall (Ident (Identifier "zeta")) [ BlockArg [ Text "x" ] ])+              ]))+        Nothing+        (Text "a")+    , Text ","+    , MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "1" , MGroup (Just "(") (Just ")") [ Text "Y" ] ]))+        Nothing+        (Code+           "typ/math/attach-03.typ"+           ( line 4 , column 31 )+           (Ident (Identifier "pi")))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { math.attach(b: text(body: [1]), +                                                   base: text(body: [π]), +                                                   t: none), +                                       math.lr(body: ({ [(], +                                                        text(body: [Y]), +                                                        [)] })), +                                       text(body: [,]), +                                       math.attach(b: { text(body: [f]), +                                                        math.lr(body: ({ [(], +                                                                         text(body: [x]), +                                                                         [)] })) }, +                                                   base: text(body: [a]), +                                                   t: none), +                                       text(body: [,]), +                                       math.attach(b: none, +                                                   base: text(body: [a]), +                                                   t: { text(body: [ζ]), +                                                        text(body: [(]), +                                                        text(body: [x]), +                                                        text(body: [)]) }), +                                       linebreak(), +                                       math.attach(b: none, +                                                   base: text(body: [a]), +                                                   t: { text(body: [⊆]), +                                                        text(body: [(]), +                                                        text(body: [x]), +                                                        text(body: [)]) }), +                                       text(body: [,]), +                                       math.attach(b: { text(body: [ζ]), +                                                        text(body: [(]), +                                                        text(body: [x]), +                                                        text(body: [)]) }, +                                                   base: text(body: [a]), +                                                   t: none), +                                       text(body: [,]), +                                       math.attach(b: { text(body: [1]), +                                                        math.lr(body: ({ [(], +                                                                         text(body: [Y]), +                                                                         [)] })) }, +                                                   base: text(body: [π]), +                                                   t: none) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/attach-04.out view
@@ -0,0 +1,322 @@+--- parse tree ---+[ Code+    "typ/math/attach-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/attach-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/attach-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MFrac+        (Text "1")+        (MGroup+           Nothing+           Nothing+           [ MAttach+               Nothing+               (Just (Text "5"))+               (MAttach+                  Nothing+                  (Just (Text "4"))+                  (MAttach+                     Nothing+                     (Just (Text "3"))+                     (MAttach Nothing (Just (Text "2")) (Text "V"))))+           ])+    , Text ","+    , MFrac+        (Text "1")+        (Code+           "typ/math/attach-04.typ"+           ( line 4 , column 5 )+           (FuncCall+              (Ident (Identifier "attach"))+              [ BlockArg [ Text "V" ]+              , KeyValArg+                  (Identifier "tl")+                  (Block+                     (Content+                        [ Code+                            "typ/math/attach-04.typ"+                            ( line 4 , column 19 )+                            (FuncCall+                               (Ident (Identifier "attach"))+                               [ BlockArg [ Text "2" ]+                               , KeyValArg+                                   (Identifier "tl")+                                   (Block+                                      (Content+                                         [ Code+                                             "typ/math/attach-04.typ"+                                             ( line 4 , column 33 )+                                             (FuncCall+                                                (Ident (Identifier "attach"))+                                                [ BlockArg [ Text "3" ]+                                                , KeyValArg+                                                    (Identifier "tl")+                                                    (Block+                                                       (Content+                                                          [ Code+                                                              "typ/math/attach-04.typ"+                                                              ( line 4 , column 47 )+                                                              (FuncCall+                                                                 (Ident (Identifier "attach"))+                                                                 [ BlockArg [ Text "4" ]+                                                                 , KeyValArg+                                                                     (Identifier "tl")+                                                                     (Block (Content [ Text "5" ]))+                                                                 ])+                                                          ]))+                                                ])+                                         ]))+                               ])+                        ]))+              ]))+    , Text ","+    , Code+        "typ/math/attach-04.typ"+        ( line 5 , column 3 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/attach-04.typ"+                   ( line 5 , column 10 )+                   (Ident (Identifier "Omega"))+               ]+           , KeyValArg+               (Identifier "tl")+               (Block+                  (Content+                     [ Code+                         "typ/math/attach-04.typ"+                         ( line 6 , column 9 )+                         (FuncCall+                            (Ident (Identifier "attach"))+                            [ BlockArg [ Text "2" ]+                            , KeyValArg+                                (Identifier "tl")+                                (Block+                                   (Content+                                      [ Code+                                          "typ/math/attach-04.typ"+                                          ( line 6 , column 23 )+                                          (FuncCall+                                             (Ident (Identifier "attach"))+                                             [ BlockArg [ Text "3" ]+                                             , KeyValArg+                                                 (Identifier "tl")+                                                 (Block+                                                    (Content+                                                       [ Code+                                                           "typ/math/attach-04.typ"+                                                           ( line 6 , column 37 )+                                                           (FuncCall+                                                              (Ident (Identifier "attach"))+                                                              [ BlockArg [ Text "4" ]+                                                              , KeyValArg+                                                                  (Identifier "tl")+                                                                  (Block (Content [ Text "5" ]))+                                                              ])+                                                       ]))+                                             ])+                                      ]))+                            ])+                     ]))+           , KeyValArg+               (Identifier "tr")+               (Block+                  (Content+                     [ Code+                         "typ/math/attach-04.typ"+                         ( line 7 , column 9 )+                         (FuncCall+                            (Ident (Identifier "attach"))+                            [ BlockArg [ Text "2" ]+                            , KeyValArg+                                (Identifier "tr")+                                (Block+                                   (Content+                                      [ Code+                                          "typ/math/attach-04.typ"+                                          ( line 7 , column 23 )+                                          (FuncCall+                                             (Ident (Identifier "attach"))+                                             [ BlockArg [ Text "3" ]+                                             , KeyValArg+                                                 (Identifier "tr")+                                                 (Block+                                                    (Content+                                                       [ Code+                                                           "typ/math/attach-04.typ"+                                                           ( line 7 , column 37 )+                                                           (FuncCall+                                                              (Ident (Identifier "attach"))+                                                              [ BlockArg [ Text "4" ]+                                                              , KeyValArg+                                                                  (Identifier "tr")+                                                                  (Block (Content [ Text "5" ]))+                                                              ])+                                                       ]))+                                             ])+                                      ]))+                            ])+                     ]))+           , KeyValArg+               (Identifier "bl")+               (Block+                  (Content+                     [ Code+                         "typ/math/attach-04.typ"+                         ( line 8 , column 9 )+                         (FuncCall+                            (Ident (Identifier "attach"))+                            [ BlockArg [ Text "2" ]+                            , KeyValArg+                                (Identifier "bl")+                                (Block+                                   (Content+                                      [ Code+                                          "typ/math/attach-04.typ"+                                          ( line 8 , column 23 )+                                          (FuncCall+                                             (Ident (Identifier "attach"))+                                             [ BlockArg [ Text "3" ]+                                             , KeyValArg+                                                 (Identifier "bl")+                                                 (Block+                                                    (Content+                                                       [ Code+                                                           "typ/math/attach-04.typ"+                                                           ( line 8 , column 37 )+                                                           (FuncCall+                                                              (Ident (Identifier "attach"))+                                                              [ BlockArg [ Text "4" ]+                                                              , KeyValArg+                                                                  (Identifier "bl")+                                                                  (Block (Content [ Text "5" ]))+                                                              ])+                                                       ]))+                                             ])+                                      ]))+                            ])+                     ]))+           , KeyValArg+               (Identifier "br")+               (Block+                  (Content+                     [ Code+                         "typ/math/attach-04.typ"+                         ( line 9 , column 9 )+                         (FuncCall+                            (Ident (Identifier "attach"))+                            [ BlockArg [ Text "2" ]+                            , KeyValArg+                                (Identifier "br")+                                (Block+                                   (Content+                                      [ Code+                                          "typ/math/attach-04.typ"+                                          ( line 9 , column 23 )+                                          (FuncCall+                                             (Ident (Identifier "attach"))+                                             [ BlockArg [ Text "3" ]+                                             , KeyValArg+                                                 (Identifier "br")+                                                 (Block+                                                    (Content+                                                       [ Code+                                                           "typ/math/attach-04.typ"+                                                           ( line 9 , column 37 )+                                                           (FuncCall+                                                              (Ident (Identifier "attach"))+                                                              [ BlockArg [ Text "4" ]+                                                              , KeyValArg+                                                                  (Identifier "br")+                                                                  (Block (Content [ Text "5" ]))+                                                              ])+                                                       ]))+                                             ])+                                      ]))+                            ])+                     ]))+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.frac(denom: math.attach(b: none, +                                                                    base: math.attach(b: none, +                                                                                      base: math.attach(b: none, +                                                                                                        base: math.attach(b: none, +                                                                                                                          base: text(body: [V]), +                                                                                                                          t: text(body: [2])), +                                                                                                        t: text(body: [3])), +                                                                                      t: text(body: [4])), +                                                                    t: text(body: [5])), +                                                 num: text(body: [1])), +                                       text(body: [,]), +                                       math.frac(denom: math.attach(base: text(body: [V]), +                                                                    tl: math.attach(base: text(body: [2]), +                                                                                    tl: math.attach(base: text(body: [3]), +                                                                                                    tl: math.attach(base: text(body: [4]), +                                                                                                                    tl: text(body: [5]))))), +                                                 num: text(body: [1])), +                                       text(body: [,]), +                                       math.attach(base: text(body: [Ω]), +                                                   bl: math.attach(base: text(body: [2]), +                                                                   bl: math.attach(base: text(body: [3]), +                                                                                   bl: math.attach(base: text(body: [4]), +                                                                                                   bl: text(body: [5])))), +                                                   br: math.attach(base: text(body: [2]), +                                                                   br: math.attach(base: text(body: [3]), +                                                                                   br: math.attach(base: text(body: [4]), +                                                                                                   br: text(body: [5])))), +                                                   tl: math.attach(base: text(body: [2]), +                                                                   tl: math.attach(base: text(body: [3]), +                                                                                   tl: math.attach(base: text(body: [4]), +                                                                                                   tl: text(body: [5])))), +                                                   tr: math.attach(base: text(body: [2]), +                                                                   tr: math.attach(base: text(body: [3]), +                                                                                   tr: math.attach(base: text(body: [4]), +                                                                                                   tr: text(body: [5]))))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/attach-05.out view
@@ -0,0 +1,174 @@+--- parse tree ---+[ Code+    "typ/math/attach-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/attach-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/attach-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/attach-05.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg+               [ MAttach+                   (Just (MGroup Nothing Nothing [ MFrac (Text "1") (Text "2") ]))+                   (Just+                      (Code+                         "typ/math/attach-05.typ"+                         ( line 3 , column 16 )+                         (Ident (Identifier "zeta"))))+                   (Text "a")+               ]+           ])+    , Text ","+    , Code+        "typ/math/attach-05.typ"+        ( line 3 , column 23 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg+               [ MAttach+                   (Just+                      (Code+                         "typ/math/attach-05.typ"+                         ( line 3 , column 30 )+                         (Ident (Identifier "alpha"))))+                   (Just (MGroup Nothing Nothing [ MFrac (Text "1") (Text "2") ]))+                   (Text "a")+               ]+           ])+    , Text ","+    , Code+        "typ/math/attach-05.typ"+        ( line 3 , column 44 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg+               [ MAttach+                   (Just (MGroup Nothing Nothing [ MFrac (Text "1") (Text "2") ]))+                   (Just (MGroup Nothing Nothing [ MFrac (Text "3") (Text "4") ]))+                   (Text "a")+               ]+           ])+    , HardBreak+    , Code+        "typ/math/attach-05.typ"+        ( line 4 , column 3 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg+               [ Code+                   "typ/math/attach-05.typ"+                   ( line 4 , column 8 )+                   (FuncCall+                      (Ident (Identifier "attach"))+                      [ BlockArg [ Text "a" ]+                      , KeyValArg+                          (Identifier "tl") (Block (Content [ MFrac (Text "1") (Text "2") ]))+                      , KeyValArg+                          (Identifier "bl") (Block (Content [ MFrac (Text "3") (Text "4") ]))+                      ])+               ]+           ])+    , Text ","+    , Code+        "typ/math/attach-05.typ"+        ( line 5 , column 3 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg+               [ Code+                   "typ/math/attach-05.typ"+                   ( line 5 , column 8 )+                   (FuncCall+                      (Ident (Identifier "attach"))+                      [ BlockArg [ Text "a" ]+                      , KeyValArg+                          (Identifier "tl") (Block (Content [ MFrac (Text "1") (Text "2") ]))+                      , KeyValArg+                          (Identifier "bl") (Block (Content [ MFrac (Text "3") (Text "4") ]))+                      , KeyValArg+                          (Identifier "tr") (Block (Content [ MFrac (Text "1") (Text "2") ]))+                      , KeyValArg+                          (Identifier "br") (Block (Content [ MFrac (Text "3") (Text "4") ]))+                      ])+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.sqrt(radicand: math.attach(b: math.frac(denom: text(body: [2]), +                                                                                    num: text(body: [1])), +                                                                       base: text(body: [a]), +                                                                       t: text(body: [ζ]))), +                                       text(body: [,]), +                                       math.sqrt(radicand: math.attach(b: text(body: [α]), +                                                                       base: text(body: [a]), +                                                                       t: math.frac(denom: text(body: [2]), +                                                                                    num: text(body: [1])))), +                                       text(body: [,]), +                                       math.sqrt(radicand: math.attach(b: math.frac(denom: text(body: [2]), +                                                                                    num: text(body: [1])), +                                                                       base: text(body: [a]), +                                                                       t: math.frac(denom: text(body: [4]), +                                                                                    num: text(body: [3])))), +                                       linebreak(), +                                       math.sqrt(radicand: math.attach(base: text(body: [a]), +                                                                       bl: math.frac(denom: text(body: [4]), +                                                                                     num: text(body: [3])), +                                                                       tl: math.frac(denom: text(body: [2]), +                                                                                     num: text(body: [1])))), +                                       text(body: [,]), +                                       math.sqrt(radicand: math.attach(base: text(body: [a]), +                                                                       bl: math.frac(denom: text(body: [4]), +                                                                                     num: text(body: [3])), +                                                                       br: math.frac(denom: text(body: [4]), +                                                                                     num: text(body: [3])), +                                                                       tl: math.frac(denom: text(body: [2]), +                                                                                     num: text(body: [1])), +                                                                       tr: math.frac(denom: text(body: [2]), +                                                                                     num: text(body: [1])))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/attach-06.out view
@@ -0,0 +1,99 @@+--- parse tree ---+[ Code+    "typ/math/attach-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/attach-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/attach-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MAttach+        Nothing+        (Just (Text "n"))+        (MGroup+           (Just "(")+           (Just ")")+           [ Code+               "typ/math/attach-06.typ"+               ( line 3 , column 4 )+               (Ident (Identifier "minus"))+           , Text "1"+           ])+    , Text "+"+    , MAttach+        Nothing+        (Just+           (MGroup+              Nothing+              Nothing+              [ Code+                  "typ/math/attach-06.typ"+                  ( line 3 , column 23 )+                  (Ident (Identifier "minus"))+              , MFrac (Text "1") (Text "2")+              ]))+        (MGroup+           (Just "(")+           (Just ")")+           [ MFrac (Text "1") (Text "2") , Text "+" , Text "3" ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: none, +                                                   base: math.lr(body: ({ [(], +                                                                          text(body: [−]), +                                                                          text(body: [1]), +                                                                          [)] })), +                                                   t: text(body: [n])), +                                       text(body: [+]), +                                       math.attach(b: none, +                                                   base: math.lr(body: ({ [(], +                                                                          math.frac(denom: text(body: [2]), +                                                                                    num: text(body: [1])), +                                                                          text(body: [+]), +                                                                          text(body: [3]), +                                                                          [)] })), +                                                   t: { text(body: [−]), +                                                        math.frac(denom: text(body: [2]), +                                                                  num: text(body: [1])) }) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/attach-07.out view
@@ -0,0 +1,426 @@+--- parse tree ---+[ Code+    "typ/math/attach-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/attach-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/attach-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/math/attach-07.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "size") (Literal (Numeric 8.0 Pt)) ])+, ParBreak+, Comment+, Equation+    True+    [ MAttach (Just (Text "1")) Nothing (Text "x")+    , MAttach (Just (Text "1")) Nothing (Text "p")+    , MAttach+        (Just (Text "1"))+        Nothing+        (Code+           "typ/math/attach-07.typ"+           ( line 5 , column 11 )+           (FuncCall (Ident (Identifier "frak")) [ BlockArg [ Text "p" ] ]))+    , MAttach (Just (Text "1")) Nothing (Text "2")+    , MAttach+        (Just (Text "1"))+        Nothing+        (Code+           "typ/math/attach-07.typ"+           ( line 5 , column 25 )+           (Ident (Identifier "dot")))+    , MAttach+        (Just (Text "1"))+        Nothing+        (Code+           "typ/math/attach-07.typ"+           ( line 5 , column 31 )+           (Ident (Identifier "lg")))+    , MAttach (Just (Text "1")) Nothing (Text "!")+    , MAttach (Just (Text "1")) Nothing (Text "\\")+    , MAttach (Just (Text "1")) Nothing (Text "]")+    , MAttach (Just (Text "1")) Nothing (Text " ip")+    , MAttach+        (Just (Text "1"))+        Nothing+        (Code+           "typ/math/attach-07.typ"+           ( line 5 , column 56 )+           (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "iq" ] ]))+    , HardBreak+    , MAttach Nothing (Just (Text "1")) (Text "x")+    , MAttach Nothing (Just (Text "1")) (Text "b")+    , MAttach+        Nothing+        (Just (Text "1"))+        (Code+           "typ/math/attach-07.typ"+           ( line 6 , column 11 )+           (FuncCall (Ident (Identifier "frak")) [ BlockArg [ Text "b" ] ]))+    , MAttach Nothing (Just (Text "1")) (Text "2")+    , MAttach+        Nothing+        (Just (Text "1"))+        (Code+           "typ/math/attach-07.typ"+           ( line 6 , column 25 )+           (Ident (Identifier "dot")))+    , MAttach+        Nothing+        (Just (Text "1"))+        (Code+           "typ/math/attach-07.typ"+           ( line 6 , column 31 )+           (Ident (Identifier "lg")))+    , MAttach Nothing (Just (Text "1")) (Text "!")+    , MAttach Nothing (Just (Text "1")) (Text "\\")+    , MAttach Nothing (Just (Text "1")) (Text "]")+    , MAttach Nothing (Just (Text "1")) (Text " ib")+    , MAttach+        Nothing+        (Just (Text "1"))+        (Code+           "typ/math/attach-07.typ"+           ( line 6 , column 56 )+           (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "id" ] ]))+    , HardBreak+    , MAttach (Just (Text "1")) Nothing (Text "x")+    , MAttach (Just (Text "1")) Nothing (Text "y")+    , MAttach (Just (Text "1")) Nothing (Text " _")+    , MAttach Nothing (Just (Text "1")) (Text "x")+    , MAttach Nothing (Just (Text "1")) (Text "l")+    , MAttach Nothing (Just (Text "1")) (Text " `")+    , Code+        "typ/math/attach-07.typ"+        ( line 7 , column 31 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg [ Text "I" ]+           , KeyValArg (Identifier "tl") (Block (Content [ Text "1" ]))+           , KeyValArg (Identifier "bl") (Block (Content [ Text "1" ]))+           , KeyValArg (Identifier "tr") (Block (Content [ Text "1" ]))+           , KeyValArg (Identifier "br") (Block (Content [ Text "1" ]))+           ])+    , MAttach+        (Just (Text "1"))+        (Just (Text "1"))+        (Code+           "typ/math/attach-07.typ"+           ( line 8 , column 3 )+           (FuncCall+              (Ident (Identifier "scripts"))+              [ BlockArg+                  [ Code+                      "typ/math/attach-07.typ"+                      ( line 8 , column 11 )+                      (Ident (Identifier "sum"))+                  ]+              ]))+    , MAttach+        (Just (Text "1"))+        (Just (Text "1"))+        (Code+           "typ/math/attach-07.typ"+           ( line 8 , column 20 )+           (Ident (Identifier "integral")))+    , Text "|"+    , MFrac (Text "1") (Text "2")+    , MAttach (Just (Text "1")) (Just (Text "1")) (Text "|")+    , HardBreak+    , MAttach (Just (Text "1")) (Just (Text "1")) (Text "x")+    , Text ","+    , Text " ("+    , Text "b"+    , Text "y"+    , MAttach (Just (Text "1")) (Just (Text "1")) (Text ")")+    , Code+        "typ/math/attach-07.typ"+        ( line 9 , column 24 )+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))+    , MAttach+        (Just (Text "1"))+        (Just (Text "1"))+        (MGroup (Just "(") (Just ")") [ Text "b" , Text "y" ])+    , Text ","+    , MAttach (Just (Text "1")) Nothing (Text " [\8747]")+    , MAttach+        (Just (Text "1"))+        Nothing+        (MGroup+           (Just "[")+           (Just "]")+           [ Code+               "typ/math/attach-07.typ"+               ( line 9 , column 47 )+               (Ident (Identifier "integral"))+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 math.equation(block: true, +                               body: { math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [x], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [p], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: math.frak(body: text(body: [p], +                                                                              size: 8.0pt)), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [2], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [⋅], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: math.op(limits: false, +                                                                 text: "lg"), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [!], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [\], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: []], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [ ip], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: math.op(text: text(body: [iq], +                                                                            size: 8.0pt)), +                                                   t: none), +                                       linebreak(), +                                       math.attach(b: none, +                                                   base: text(body: [x], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: text(body: [b], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: math.frak(body: text(body: [b], +                                                                              size: 8.0pt)), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: text(body: [2], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: text(body: [⋅], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: math.op(limits: false, +                                                                 text: "lg"), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: text(body: [!], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: text(body: [\], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: text(body: []], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: text(body: [ ib], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: math.op(text: text(body: [id], +                                                                            size: 8.0pt)), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       linebreak(), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [x], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [y], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [ _], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: none, +                                                   base: text(body: [x], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: text(body: [l], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: none, +                                                   base: text(body: [ `], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(base: text(body: [I], +                                                              size: 8.0pt), +                                                   bl: text(body: [1], +                                                            size: 8.0pt), +                                                   br: text(body: [1], +                                                            size: 8.0pt), +                                                   tl: text(body: [1], +                                                            size: 8.0pt), +                                                   tr: text(body: [1], +                                                            size: 8.0pt)), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: math.scripts(body: text(body: [∑], +                                                                                 size: 8.0pt)), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [∫], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       text(body: [|], +                                            size: 8.0pt), +                                       math.frac(denom: text(body: [2], +                                                             size: 8.0pt), +                                                 num: text(body: [1], +                                                           size: 8.0pt)), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [|], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       linebreak(), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [x], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       text(body: [,], +                                            size: 8.0pt), +                                       text(body: [ (], +                                            size: 8.0pt), +                                       text(body: [b], +                                            size: 8.0pt), +                                       text(body: [y], +                                            size: 8.0pt), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [)], +                                                              size: 8.0pt), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       text(body: [≠], +                                            size: 8.0pt), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: math.lr(body: ({ [(], +                                                                          text(body: [b], +                                                                               size: 8.0pt), +                                                                          text(body: [y], +                                                                               size: 8.0pt), +                                                                          [)] })), +                                                   t: text(body: [1], +                                                           size: 8.0pt)), +                                       text(body: [,], +                                            size: 8.0pt), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: text(body: [ [∫]], +                                                              size: 8.0pt), +                                                   t: none), +                                       math.attach(b: text(body: [1], +                                                           size: 8.0pt), +                                                   base: math.lr(body: ({ [[], +                                                                          text(body: [∫], +                                                                               size: 8.0pt), +                                                                          []] })), +                                                   t: none) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/attach-08.out view
@@ -0,0 +1,120 @@+--- parse tree ---+[ Code+    "typ/math/attach-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/attach-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/attach-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "n"+              , Code+                  "typ/math/attach-08.typ"+                  ( line 3 , column 9 )+                  (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))+              , Code+                  "typ/math/attach-08.typ"+                  ( line 3 , column 11 )+                  (Ident (Identifier "oo"))+              , HardBreak+              , Text "n"+              , Text " grows"+              ]))+        Nothing+        (Code+           "typ/math/attach-08.typ"+           ( line 3 , column 3 )+           (Ident (Identifier "lim")))+    , MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "k"+              , Text "="+              , Text "0"+              , HardBreak+              , Text "k"+              , Code+                  "typ/math/attach-08.typ"+                  ( line 3 , column 40 )+                  (Ident (Identifier "in"))+              , Code+                  "typ/math/attach-08.typ"+                  ( line 3 , column 43 )+                  (Ident (Identifier "NN"))+              ]))+        (Just (Text "n"))+        (Code+           "typ/math/attach-08.typ"+           ( line 3 , column 27 )+           (Ident (Identifier "sum")))+    , Text "k"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: { text(body: [n]), +                                                        text(body: [→]), +                                                        text(body: [∞]), +                                                        linebreak(), +                                                        text(body: [n]), +                                                        text(body: [ grows]) }, +                                                   base: math.op(limits: true, +                                                                 text: "lim"), +                                                   t: none), +                                       math.attach(b: { text(body: [k]), +                                                        text(body: [=]), +                                                        text(body: [0]), +                                                        linebreak(), +                                                        text(body: [k]), +                                                        text(body: [∈]), +                                                        text(body: [ℕ]) }, +                                                   base: text(body: [∑]), +                                                   t: text(body: [n])), +                                       text(body: [k]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/attach-09.out view
@@ -0,0 +1,154 @@+--- parse tree ---+[ Code+    "typ/math/attach-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/attach-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/attach-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MAttach+        (Just (Text "1"))+        (Just (Text "2"))+        (Code+           "typ/math/attach-09.typ"+           ( line 3 , column 3 )+           (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "A" ] ]))+    , Code+        "typ/math/attach-09.typ"+        ( line 3 , column 17 )+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))+    , MAttach (Just (Text "1")) (Just (Text "2")) (Text "A")+    ]+, SoftBreak+, Equation+    True+    [ MAttach+        (Just (Text "1"))+        (Just (Text "2"))+        (Code+           "typ/math/attach-09.typ"+           ( line 4 , column 3 )+           (FuncCall+              (Ident (Identifier "scripts"))+              [ BlockArg+                  [ Code+                      "typ/math/attach-09.typ"+                      ( line 4 , column 11 )+                      (Ident (Identifier "sum"))+                  ]+              ]))+    , Code+        "typ/math/attach-09.typ"+        ( line 4 , column 20 )+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))+    , MAttach+        (Just (Text "1"))+        (Just (Text "2"))+        (Code+           "typ/math/attach-09.typ"+           ( line 4 , column 23 )+           (Ident (Identifier "sum")))+    ]+, SoftBreak+, Equation+    True+    [ MAttach+        (Just (Text "a"))+        (Just (Text "b"))+        (Code+           "typ/math/attach-09.typ"+           ( line 5 , column 3 )+           (FuncCall+              (Ident (Identifier "limits"))+              [ BlockArg+                  [ Code+                      "typ/math/attach-09.typ"+                      ( line 5 , column 10 )+                      (Ident (Identifier "integral"))+                  ]+              ]))+    , Code+        "typ/math/attach-09.typ"+        ( line 5 , column 24 )+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))+    , MAttach+        (Just (Text "a"))+        (Just (Text "b"))+        (Code+           "typ/math/attach-09.typ"+           ( line 5 , column 27 )+           (Ident (Identifier "integral")))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: text(body: [1]), +                                                   base: math.limits(body: text(body: [A])), +                                                   t: text(body: [2])), +                                       text(body: [≠]), +                                       math.attach(b: text(body: [1]), +                                                   base: text(body: [A]), +                                                   t: text(body: [2])) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: text(body: [1]), +                                                   base: math.scripts(body: text(body: [∑])), +                                                   t: text(body: [2])), +                                       text(body: [≠]), +                                       math.attach(b: text(body: [1]), +                                                   base: text(body: [∑]), +                                                   t: text(body: [2])) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: text(body: [a]), +                                                   base: math.limits(body: text(body: [∫])), +                                                   t: text(body: [b])), +                                       text(body: [≠]), +                                       math.attach(b: text(body: [a]), +                                                   base: text(body: [∫]), +                                                   t: text(body: [b])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/cancel-00.out view
@@ -0,0 +1,141 @@+--- parse tree ---+[ Code+    "typ/math/cancel-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/cancel-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/cancel-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "a"+    , Text "+"+    , Text "5"+    , Text "+"+    , Code+        "typ/math/cancel-00.typ"+        ( line 3 , column 10 )+        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "x" ] ])+    , Text "+"+    , Text "b"+    , Code+        "typ/math/cancel-00.typ"+        ( line 3 , column 24 )+        (Ident (Identifier "minus"))+    , Code+        "typ/math/cancel-00.typ"+        ( line 3 , column 26 )+        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "x" ] ])+    ]+, ParBreak+, Equation+    False+    [ Text "c"+    , Text "+"+    , MFrac+        (MGroup+           (Just "(")+           (Just ")")+           [ Text "a"+           , Code+               "typ/math/cancel-00.typ"+               ( line 5 , column 9 )+               (FieldAccess (Ident (Identifier "c")) (Ident (Identifier "dot")))+           , Code+               "typ/math/cancel-00.typ"+               ( line 5 , column 15 )+               (FuncCall+                  (Ident (Identifier "cancel"))+                  [ BlockArg+                      [ Text "b"+                      , Code+                          "typ/math/cancel-00.typ"+                          ( line 5 , column 24 )+                          (FieldAccess (Ident (Identifier "c")) (Ident (Identifier "dot")))+                      , Text "c"+                      ]+                  ])+           ])+        (MGroup+           Nothing+           Nothing+           [ Code+               "typ/math/cancel-00.typ"+               ( line 5 , column 35 )+               (FuncCall+                  (Ident (Identifier "cancel"))+                  [ BlockArg+                      [ Text "b"+                      , Code+                          "typ/math/cancel-00.typ"+                          ( line 5 , column 44 )+                          (FieldAccess (Ident (Identifier "c")) (Ident (Identifier "dot")))+                      , Text "c"+                      ]+                  ])+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [+]), +                                       text(body: [5]), +                                       text(body: [+]), +                                       math.cancel(body: text(body: [x])), +                                       text(body: [+]), +                                       text(body: [b]), +                                       text(body: [−]), +                                       math.cancel(body: text(body: [x])) }, +                               numbering: none), +                 parbreak(), +                 math.equation(block: false, +                               body: { text(body: [c]), +                                       text(body: [+]), +                                       math.frac(denom: math.cancel(body: { text(body: [b]), +                                                                            text(body: [·]), +                                                                            text(body: [c]) }), +                                                 num: { text(body: [a]), +                                                        text(body: [·]), +                                                        math.cancel(body: { text(body: [b]), +                                                                            text(body: [·]), +                                                                            text(body: [c]) }) }) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/cancel-01.out view
@@ -0,0 +1,182 @@+--- parse tree ---+[ Code+    "typ/math/cancel-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/cancel-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/cancel-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/cancel-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto) ])+, SoftBreak+, Equation+    True+    [ Text "a"+    , Text "+"+    , Text "b"+    , Text "+"+    , Code+        "typ/math/cancel-01.typ"+        ( line 4 , column 11 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "b" , Text "+" , Text "c" ] ])+    , Code+        "typ/math/cancel-01.typ"+        ( line 4 , column 25 )+        (Ident (Identifier "minus"))+    , Code+        "typ/math/cancel-01.typ"+        ( line 4 , column 27 )+        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "b" ] ])+    , Code+        "typ/math/cancel-01.typ"+        ( line 4 , column 37 )+        (Ident (Identifier "minus"))+    , Code+        "typ/math/cancel-01.typ"+        ( line 4 , column 39 )+        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "c" ] ])+    , Code+        "typ/math/cancel-01.typ"+        ( line 4 , column 49 )+        (Ident (Identifier "minus"))+    , Text "5"+    , Text "+"+    , Code+        "typ/math/cancel-01.typ"+        ( line 4 , column 55 )+        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "6" ] ])+    , Code+        "typ/math/cancel-01.typ"+        ( line 4 , column 65 )+        (Ident (Identifier "minus"))+    , Code+        "typ/math/cancel-01.typ"+        ( line 4 , column 67 )+        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "6" ] ])+    ]+, SoftBreak+, Equation+    True+    [ Text "e"+    , Text "+"+    , MFrac+        (MGroup+           (Just "(")+           (Just ")")+           [ Text "a"+           , Code+               "typ/math/cancel-01.typ"+               ( line 5 , column 10 )+               (FieldAccess (Ident (Identifier "c")) (Ident (Identifier "dot")))+           , Code+               "typ/math/cancel-01.typ"+               ( line 5 , column 16 )+               (FuncCall+                  (Ident (Identifier "cancel"))+                  [ BlockArg+                      [ MGroup+                          (Just "(")+                          (Just ")")+                          [ Text "b" , Text "+" , Text "c" , Text "+" , Text "d" ]+                      ]+                  ])+           ])+        (MGroup+           Nothing+           Nothing+           [ Code+               "typ/math/cancel-01.typ"+               ( line 5 , column 38 )+               (FuncCall+                  (Ident (Identifier "cancel"))+                  [ BlockArg [ Text "b" , Text "+" , Text "c" , Text "+" , Text "d" ]+                  ])+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [a]), +                                       text(body: [+]), +                                       text(body: [b]), +                                       text(body: [+]), +                                       math.cancel(body: { text(body: [b]), +                                                           text(body: [+]), +                                                           text(body: [c]) }), +                                       text(body: [−]), +                                       math.cancel(body: text(body: [b])), +                                       text(body: [−]), +                                       math.cancel(body: text(body: [c])), +                                       text(body: [−]), +                                       text(body: [5]), +                                       text(body: [+]), +                                       math.cancel(body: text(body: [6])), +                                       text(body: [−]), +                                       math.cancel(body: text(body: [6])) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [e]), +                                       text(body: [+]), +                                       math.frac(denom: math.cancel(body: { text(body: [b]), +                                                                            text(body: [+]), +                                                                            text(body: [c]), +                                                                            text(body: [+]), +                                                                            text(body: [d]) }), +                                                 num: { text(body: [a]), +                                                        text(body: [·]), +                                                        math.cancel(body: math.lr(body: ({ [(], +                                                                                           text(body: [b]), +                                                                                           text(body: [+]), +                                                                                           text(body: [c]), +                                                                                           text(body: [+]), +                                                                                           text(body: [d]), +                                                                                           [)] }))) }) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/cancel-02.out view
@@ -0,0 +1,125 @@+--- parse tree ---+[ Code+    "typ/math/cancel-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/cancel-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/cancel-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "a"+    , Text "+"+    , Code+        "typ/math/cancel-02.typ"+        ( line 3 , column 6 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "x" ]+           , KeyValArg (Identifier "inverted") (Literal (Boolean True))+           ])+    , Code+        "typ/math/cancel-02.typ"+        ( line 3 , column 33 )+        (Ident (Identifier "minus"))+    , Code+        "typ/math/cancel-02.typ"+        ( line 3 , column 35 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "x" ]+           , KeyValArg (Identifier "inverted") (Literal (Boolean True))+           ])+    , Text "+"+    , Text "10"+    , Text "+"+    , Code+        "typ/math/cancel-02.typ"+        ( line 3 , column 69 )+        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "y" ] ])+    , Code+        "typ/math/cancel-02.typ"+        ( line 3 , column 79 )+        (Ident (Identifier "minus"))+    , Code+        "typ/math/cancel-02.typ"+        ( line 3 , column 81 )+        (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "y" ] ])+    ]+, SoftBreak+, Equation+    True+    [ Text "x"+    , Text "+"+    , Code+        "typ/math/cancel-02.typ"+        ( line 4 , column 7 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "abcdefg" ]+           , KeyValArg (Identifier "inverted") (Literal (Boolean True))+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [+]), +                                       math.cancel(body: text(body: [x]), +                                                   inverted: true), +                                       text(body: [−]), +                                       math.cancel(body: text(body: [x]), +                                                   inverted: true), +                                       text(body: [+]), +                                       text(body: [10]), +                                       text(body: [+]), +                                       math.cancel(body: text(body: [y])), +                                       text(body: [−]), +                                       math.cancel(body: text(body: [y])) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [x]), +                                       text(body: [+]), +                                       math.cancel(body: text(body: [abcdefg]), +                                                   inverted: true) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/cancel-03.out view
@@ -0,0 +1,107 @@+--- parse tree ---+[ Code+    "typ/math/cancel-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/cancel-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/cancel-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "a"+    , Text "+"+    , Code+        "typ/math/cancel-03.typ"+        ( line 3 , column 6 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "b" , Text "+" , Text "c" , Text "+" , Text "d" ]+           , KeyValArg (Identifier "cross") (Literal (Boolean True))+           , KeyValArg (Identifier "stroke") (Ident (Identifier "red"))+           ])+    , Text "+"+    , Text "e"+    ]+, SoftBreak+, Equation+    True+    [ Text "a"+    , Text "+"+    , Code+        "typ/math/cancel-03.typ"+        ( line 4 , column 7 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "b" , Text "+" , Text "c" , Text "+" , Text "d" ]+           , KeyValArg (Identifier "cross") (Literal (Boolean True))+           ])+    , Text "+"+    , Text "e"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [+]), +                                       math.cancel(body: { text(body: [b]), +                                                           text(body: [+]), +                                                           text(body: [c]), +                                                           text(body: [+]), +                                                           text(body: [d]) }, +                                                   cross: true, +                                                   stroke: rgb(100%,25%,21%,100%)), +                                       text(body: [+]), +                                       text(body: [e]) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [a]), +                                       text(body: [+]), +                                       math.cancel(body: { text(body: [b]), +                                                           text(body: [+]), +                                                           text(body: [c]), +                                                           text(body: [+]), +                                                           text(body: [d]) }, +                                                   cross: true), +                                       text(body: [+]), +                                       text(body: [e]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/cancel-04.out view
@@ -0,0 +1,148 @@+--- parse tree ---+[ Code+    "typ/math/cancel-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/cancel-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/cancel-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/cancel-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt))+       , KeyValArg (Identifier "height") (Literal Auto)+       ])+, SoftBreak+, Equation+    False+    [ Text "a"+    , Text "+"+    , Code+        "typ/math/cancel-04.typ"+        ( line 4 , column 6 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "x" ]+           , KeyValArg (Identifier "length") (Literal (Numeric 200.0 Percent))+           ])+    , Code+        "typ/math/cancel-04.typ"+        ( line 4 , column 31 )+        (Ident (Identifier "minus"))+    , Code+        "typ/math/cancel-04.typ"+        ( line 4 , column 33 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "x" ]+           , KeyValArg (Identifier "length") (Literal (Numeric 50.0 Percent))+           , KeyValArg+               (Identifier "stroke")+               (Block+                  (CodeBlock+                     [ Plus (Ident (Identifier "red")) (Literal (Numeric 1.1 Pt)) ]))+           ])+    ]+, SoftBreak+, Equation+    True+    [ Text "b"+    , Text "+"+    , Code+        "typ/math/cancel-04.typ"+        ( line 5 , column 7 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "x" ]+           , KeyValArg (Identifier "length") (Literal (Numeric 150.0 Percent))+           ])+    , Code+        "typ/math/cancel-04.typ"+        ( line 5 , column 32 )+        (Ident (Identifier "minus"))+    , Code+        "typ/math/cancel-04.typ"+        ( line 5 , column 34 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "a" , Text "+" , Text "b" , Text "+" , Text "c" ]+           , KeyValArg (Identifier "length") (Literal (Numeric 50.0 Percent))+           , KeyValArg+               (Identifier "stroke")+               (Block+                  (CodeBlock+                     [ Plus (Ident (Identifier "blue")) (Literal (Numeric 1.2 Pt)) ]))+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [+]), +                                       math.cancel(body: text(body: [x]), +                                                   length: 200%), +                                       text(body: [−]), +                                       math.cancel(body: text(body: [x]), +                                                   length: 50%, +                                                   stroke: (thickness: 1.1pt,+                                                            color: rgb(100%,25%,21%,100%))) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [b]), +                                       text(body: [+]), +                                       math.cancel(body: text(body: [x]), +                                                   length: 150%), +                                       text(body: [−]), +                                       math.cancel(body: { text(body: [a]), +                                                           text(body: [+]), +                                                           text(body: [b]), +                                                           text(body: [+]), +                                                           text(body: [c]) }, +                                                   length: 50%, +                                                   stroke: (thickness: 1.2pt,+                                                            color: rgb(0%,45%,85%,100%))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/cancel-05.out view
@@ -0,0 +1,135 @@+--- parse tree ---+[ Code+    "typ/math/cancel-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/cancel-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/cancel-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "x"+    , Text "+"+    , Code+        "typ/math/cancel-05.typ"+        ( line 3 , column 6 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "y" ]+           , KeyValArg (Identifier "rotation") (Literal (Numeric 90.0 Deg))+           ])+    , Code+        "typ/math/cancel-05.typ"+        ( line 3 , column 34 )+        (Ident (Identifier "minus"))+    , Code+        "typ/math/cancel-05.typ"+        ( line 3 , column 36 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg [ Text "z" ]+           , KeyValArg (Identifier "rotation") (Literal (Numeric 135.0 Deg))+           ])+    ]+, SoftBreak+, Equation+    True+    [ Text "e"+    , Text "+"+    , Code+        "typ/math/cancel-05.typ"+        ( line 4 , column 7 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg+               [ MFrac+                   (MGroup (Just "(") (Just ")") [ Text "j" , Text "+" , Text "e" ])+                   (MGroup Nothing Nothing [ Text "f" , Text "+" , Text "e" ])+               ]+           ])+    , Code+        "typ/math/cancel-05.typ"+        ( line 4 , column 31 )+        (Ident (Identifier "minus"))+    , Code+        "typ/math/cancel-05.typ"+        ( line 4 , column 33 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg+               [ MFrac+                   (MGroup (Just "(") (Just ")") [ Text "j" , Text "+" , Text "e" ])+                   (MGroup Nothing Nothing [ Text "f" , Text "+" , Text "e" ])+               ]+           , KeyValArg (Identifier "rotation") (Literal (Numeric 30.0 Deg))+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [x]), +                                       text(body: [+]), +                                       math.cancel(body: text(body: [y]), +                                                   rotation: 90.0deg), +                                       text(body: [−]), +                                       math.cancel(body: text(body: [z]), +                                                   rotation: 135.0deg) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [e]), +                                       text(body: [+]), +                                       math.cancel(body: math.frac(denom: { text(body: [f]), +                                                                            text(body: [+]), +                                                                            text(body: [e]) }, +                                                                   num: { text(body: [j]), +                                                                          text(body: [+]), +                                                                          text(body: [e]) })), +                                       text(body: [−]), +                                       math.cancel(body: math.frac(denom: { text(body: [f]), +                                                                            text(body: [+]), +                                                                            text(body: [e]) }, +                                                                   num: { text(body: [j]), +                                                                          text(body: [+]), +                                                                          text(body: [e]) }), +                                                   rotation: 30.0deg) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/cases-00.out view
@@ -0,0 +1,153 @@+--- parse tree ---+[ Code+    "typ/math/cases-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/cases-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/cases-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    True+    [ MGroup+        Nothing+        Nothing+        [ Text "f"+        , MGroup (Just "(") (Just ")") [ Text "x" , Text "," , Text "y" ]+        ]+    , Code+        "typ/math/cases-00.typ"+        ( line 2 , column 11 )+        (FieldAccess+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))+    , Code+        "typ/math/cases-00.typ"+        ( line 2 , column 14 )+        (FuncCall+           (Ident (Identifier "cases"))+           [ BlockArg+               [ Text "1"+               , Code+                   "typ/math/cases-00.typ"+                   ( line 3 , column 5 )+                   (Ident (Identifier "quad"))+               , MAlignPoint+               , Text "if "+               , MFrac+                   (MGroup+                      (Just "(")+                      (Just ")")+                      [ Text "x"+                      , Code+                          "typ/math/cases-00.typ"+                          ( line 3 , column 19 )+                          (Ident (Identifier "dot"))+                      , Text "y"+                      ])+                   (Text "2")+               , Code+                   "typ/math/cases-00.typ"+                   ( line 3 , column 28 )+                   (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))+               , Text "0"+               ]+           , BlockArg+               [ Text "2"+               , MAlignPoint+               , Text "if "+               , Text "x"+               , Code+                   "typ/math/cases-00.typ"+                   ( line 4 , column 13 )+                   (Ident (Identifier "divides"))+               , Text "2"+               ]+           , BlockArg+               [ Text "3"+               , MAlignPoint+               , Text "if "+               , Text "x"+               , Code+                   "typ/math/cases-00.typ"+                   ( line 5 , column 13 )+                   (Ident (Identifier "in"))+               , Code+                   "typ/math/cases-00.typ"+                   ( line 5 , column 16 )+                   (Ident (Identifier "NN"))+               ]+           , BlockArg [ Text "4" , MAlignPoint , Text "else" ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [f]), +                                       math.lr(body: ({ [(], +                                                        text(body: [x]), +                                                        text(body: [,]), +                                                        text(body: [y]), +                                                        [)] })), +                                       text(body: [≔]), +                                       math.cases(children: ({ text(body: [1]), +                                                               text(body: [ ]), +                                                               math.alignpoint(), +                                                               text(body: [if ]), +                                                               math.frac(denom: text(body: [2]), +                                                                         num: { text(body: [x]), +                                                                                text(body: [⋅]), +                                                                                text(body: [y]) }), +                                                               text(body: [≤]), +                                                               text(body: [0]) }, +                                                             { text(body: [2]), +                                                               math.alignpoint(), +                                                               text(body: [if ]), +                                                               text(body: [x]), +                                                               text(body: [∣]), +                                                               text(body: [2]) }, +                                                             { text(body: [3]), +                                                               math.alignpoint(), +                                                               text(body: [if ]), +                                                               text(body: [x]), +                                                               text(body: [∈]), +                                                               text(body: [ℕ]) }, +                                                             { text(body: [4]), +                                                               math.alignpoint(), +                                                               text(body: [else]) })) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/content-00.out view
@@ -0,0 +1,115 @@+--- parse tree ---+[ Code+    "typ/math/content-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/content-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/content-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/content-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "monkey")))+       (FuncCall+          (Ident (Identifier "move"))+          [ KeyValArg (Identifier "dy") (Literal (Numeric 0.2 Em))+          , NormalArg+              (FuncCall+                 (Ident (Identifier "image"))+                 [ NormalArg (Literal (String "/assets/files/monkey.svg"))+                 , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))+                 ])+          ]))+, SoftBreak+, Equation+    True+    [ MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "i"+              , Text "="+              , Code+                  "typ/math/content-00.typ"+                  ( line 4 , column 11 )+                  (FieldAccess+                     (Ident (Identifier "apple")) (Ident (Identifier "emoji")))+              ]))+        (Just+           (Code+              "typ/math/content-00.typ"+              ( line 4 , column 25 )+              (FieldAccess+                 (Ident (Identifier "red"))+                 (FieldAccess+                    (Ident (Identifier "apple")) (Ident (Identifier "emoji"))))))+        (Code+           "typ/math/content-00.typ"+           ( line 4 , column 3 )+           (Ident (Identifier "sum")))+    , Text "i"+    , Text "+"+    , MFrac+        (Code+           "typ/math/content-00.typ"+           ( line 4 , column 45 )+           (Ident (Identifier "monkey")))+        (Text "2")+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: { text(body: [i]), +                                                        text(body: [=]), +                                                        text(body: [🍏]) }, +                                                   base: text(body: [∑]), +                                                   t: text(body: [🍎])), +                                       text(body: [i]), +                                       text(body: [+]), +                                       math.frac(denom: text(body: [2]), +                                                 num: move(body: image(height: 1.0em, +                                                                       path: "/assets/files/monkey.svg"), +                                                           dy: 0.2em)) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/content-01.out view
@@ -0,0 +1,100 @@+--- parse tree ---+[ Code+    "typ/math/content-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/content-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/content-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "x"+    , Code+        "typ/math/content-01.typ"+        ( line 3 , column 5 )+        (FieldAccess+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))+    , MFrac+        (Code+           "typ/math/content-01.typ"+           ( line 3 , column 9 )+           (FuncCall+              (Ident (Identifier "table"))+              [ KeyValArg (Identifier "columns") (Literal (Int 2))+              , BlockArg [ Text "x" ]+              , BlockArg [ Text "y" ]+              ]))+        (Code+           "typ/math/content-01.typ"+           ( line 3 , column 33 )+           (FuncCall+              (Ident (Identifier "mat"))+              [ BlockArg [ Text "1" ]+              , BlockArg [ Text "2" ]+              , BlockArg [ Text "3" ]+              ]))+    , Text "="+    , Code+        "typ/math/content-01.typ"+        ( line 4 , column 9 )+        (FuncCall+           (Ident (Identifier "table"))+           [ BlockArg [ Text "A" ]+           , BlockArg [ Text "B" ]+           , BlockArg [ Text "C" ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [x]), +                                       text(body: [≔]), +                                       math.frac(denom: math.mat(rows: ((text(body: [1]), +                                                                         text(body: [2]), +                                                                         text(body: [3])))), +                                                 num: table(children: (text(body: [x]), +                                                                       text(body: [y])), +                                                            columns: 2)), +                                       text(body: [=]), +                                       table(children: (text(body: [A]), +                                                        text(body: [B]), +                                                        text(body: [C]))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/content-02.out view
@@ -0,0 +1,61 @@+--- parse tree ---+[ Code+    "typ/math/content-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/content-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/content-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/content-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "attach")) (Ident (Identifier "math")))+       [ NormalArg (Block (Content [ Equation False [ Text "a" ] ]))+       , KeyValArg (Identifier "t") (Block (Content [ Text "b" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.attach(base: math.equation(block: false, +                                                 body: text(body: [a]), +                                                 numbering: none), +                             t: text(body: [b])), +                 parbreak() })
+ test/typ/math/content-03.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/math/content-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/content-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/content-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/content-03.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "here")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "text")))+          [ KeyValArg (Identifier "font") (Literal (String "Noto Sans")) ]))+, SoftBreak+, Equation+    False+    [ Code+        "typ/math/content-03.typ"+        ( line 4 , column 3 )+        (FuncCall (Ident (Identifier "here")) [ BlockArg [ Text "f" ] ])+    , Code+        "typ/math/content-03.typ"+        ( line 4 , column 11 )+        (FieldAccess+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))+    , Code+        "typ/math/content-03.typ"+        ( line 4 , column 15 )+        (FuncCall+           (Ident (Identifier "here"))+           [ BlockArg [ Text "Hi" , Space , Text "there" ] ])+    ]+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: text(body: [f]), +                                            font: "Noto Sans"), +                                       text(body: [≔]), +                                       text(body: { text(body: [Hi]), +                                                    text(body: [ ]), +                                                    text(body: [there]) }, +                                            font: "Noto Sans") }, +                               numbering: none), +                 text(body: [.]), +                 parbreak() })
+ test/typ/math/delimited-00.out view
@@ -0,0 +1,128 @@+--- parse tree ---+[ Code+    "typ/math/delimited-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/delimited-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/delimited-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MGroup (Just "(") (Just ")") [ Text "a" ]+    , Text "+"+    , MGroup (Just "{") (Just "}") [ MFrac (Text "b") (Text "2") ]+    , Text "+"+    , Text "|"+    , Text "a"+    , MFrac (Text "|") (Text "2")+    , Text "+"+    , MGroup (Just "(") (Just ")") [ Text "b" ]+    ]+, SoftBreak+, Equation+    False+    [ MGroup+        Nothing+        Nothing+        [ Text "f"+        , MGroup (Just "(") (Just ")") [ MFrac (Text "x") (Text "2") ]+        ]+    , Text "<"+    , Code+        "typ/math/delimited-00.typ"+        ( line 4 , column 11 )+        (FuncCall+           (Ident (Identifier "zeta"))+           [ BlockArg+               [ MAttach Nothing (Just (Text "2")) (Text "c")+               , Text "+"+               , Text "|"+               , Text "a"+               , Text "+"+               , MFrac (Text "b") (Text "2")+               , Text "|"+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.lr(body: ({ [(], +                                                        text(body: [a]), +                                                        [)] })), +                                       text(body: [+]), +                                       math.lr(body: ({ [{], +                                                        math.frac(denom: text(body: [2]), +                                                                  num: text(body: [b])), +                                                        [}] })), +                                       text(body: [+]), +                                       text(body: [|]), +                                       text(body: [a]), +                                       math.frac(denom: text(body: [2]), +                                                 num: text(body: [|])), +                                       text(body: [+]), +                                       math.lr(body: ({ [(], +                                                        text(body: [b]), +                                                        [)] })) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [f]), +                                       math.lr(body: ({ [(], +                                                        math.frac(denom: text(body: [2]), +                                                                  num: text(body: [x])), +                                                        [)] })), +                                       text(body: [<]), +                                       text(body: [ζ]), +                                       text(body: [(]), +                                       math.attach(b: none, +                                                   base: text(body: [c]), +                                                   t: text(body: [2])), +                                       text(body: [+]), +                                       text(body: [|]), +                                       text(body: [a]), +                                       text(body: [+]), +                                       math.frac(denom: text(body: [2]), +                                                 num: text(body: [b])), +                                       text(body: [|]), +                                       text(body: [)]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/delimited-01.out view
@@ -0,0 +1,101 @@+--- parse tree ---+[ Code+    "typ/math/delimited-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/delimited-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/delimited-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ MGroup+        (Just "[")+        Nothing+        [ Text "1"+        , Text ","+        , Text "2"+        , MGroup+            (Just "[")+            Nothing+            [ Text "="+            , MGroup+                (Just "[")+                Nothing+                [ Text "1"+                , Text ","+                , Text "2"+                , Text ")"+                , Code+                    "typ/math/delimited-01.typ"+                    ( line 3 , column 16 )+                    (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))+                , Code+                    "typ/math/delimited-01.typ"+                    ( line 3 , column 19 )+                    (Ident (Identifier "zeta"))+                , Text "("+                , MFrac (Text "x") (Text "2")+                , Text ")"+                ]+            ]+        ]+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [[]), +                                       text(body: [1]), +                                       text(body: [,]), +                                       text(body: [2]), +                                       text(body: [[]), +                                       text(body: [=]), +                                       text(body: [[]), +                                       text(body: [1]), +                                       text(body: [,]), +                                       text(body: [2]), +                                       text(body: [)]), +                                       text(body: [≠]), +                                       text(body: [ζ]), +                                       text(body: [(]), +                                       math.frac(denom: text(body: [2]), +                                                 num: text(body: [x])), +                                       text(body: [)]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/delimited-02.out view
@@ -0,0 +1,146 @@+--- parse tree ---+[ Code+    "typ/math/delimited-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/delimited-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/delimited-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/delimited-02.typ"+        ( line 3 , column 3 )+        (FieldAccess+           (Ident (Identifier "l"))+           (FieldAccess+              (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+    , MFrac (Text "a") (Text "b")+    , Code+        "typ/math/delimited-02.typ"+        ( line 3 , column 8 )+        (FieldAccess+           (Ident (Identifier "r"))+           (FieldAccess+              (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+    , Code+        "typ/math/delimited-02.typ"+        ( line 3 , column 11 )+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))+    , Code+        "typ/math/delimited-02.typ"+        ( line 3 , column 14 )+        (FuncCall+           (Ident (Identifier "lr"))+           [ BlockArg+               [ Code+                   "typ/math/delimited-02.typ"+                   ( line 3 , column 17 )+                   (FieldAccess+                      (Ident (Identifier "r"))+                      (FieldAccess+                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+               , MFrac (Text "a") (Text "b")+               , Code+                   "typ/math/delimited-02.typ"+                   ( line 3 , column 22 )+                   (FieldAccess+                      (Ident (Identifier "r"))+                      (FieldAccess+                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+               ]+           ])+    , Code+        "typ/math/delimited-02.typ"+        ( line 3 , column 26 )+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))+    , MGroup+        (Just "[") Nothing [ MFrac (Text "a") (Text "b") , Text ")" ]+    ]+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/delimited-02.typ"+        ( line 4 , column 3 )+        (FuncCall+           (Ident (Identifier "lr"))+           [ BlockArg [ Text "|" , Text "]" , Text "1" ]+           , BlockArg+               [ Text "2"+               , Text "["+               , Text "+"+               , MFrac (Text "1") (Text "2")+               , Text "|"+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [⟦]), +                                       math.frac(denom: text(body: [b]), +                                                 num: text(body: [a])), +                                       text(body: [⟧]), +                                       text(body: [≠]), +                                       math.lr(body: ({ text(body: [⟧]), +                                                        math.frac(denom: text(body: [b]), +                                                                  num: text(body: [a])), +                                                        text(body: [⟧]) })), +                                       text(body: [≠]), +                                       text(body: [[]), +                                       math.frac(denom: text(body: [b]), +                                                 num: text(body: [a])), +                                       text(body: [)]) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.lr(body: ({ text(body: [|]), +                                                      text(body: []]), +                                                      text(body: [1]) }, +                                                    { text(body: [2]), +                                                      text(body: [[]), +                                                      text(body: [+]), +                                                      math.frac(denom: text(body: [2]), +                                                                num: text(body: [1])), +                                                      text(body: [|]) })), +                               numbering: none), +                 parbreak() })
+ test/typ/math/delimited-03.out view
@@ -0,0 +1,96 @@+--- parse tree ---+[ Code+    "typ/math/delimited-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/delimited-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/delimited-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "|"+    , Text "x"+    , Text "+"+    , Text "|"+    , Text "y"+    , Text "|"+    , Text "+"+    , MFrac (Text "z") (Text "a")+    , Text "|"+    , HardBreak+    , Text "|"+    , Text "x"+    , Text "+"+    , Code+        "typ/math/delimited-03.typ"+        ( line 4 , column 8 )+        (FuncCall+           (Ident (Identifier "lr"))+           [ BlockArg [ Text "|" , Text "y" , Text "|" ] ])+    , Text "+"+    , MFrac (Text "z") (Text "a")+    , Text "|"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [|]), +                                       text(body: [x]), +                                       text(body: [+]), +                                       text(body: [|]), +                                       text(body: [y]), +                                       text(body: [|]), +                                       text(body: [+]), +                                       math.frac(denom: text(body: [a]), +                                                 num: text(body: [z])), +                                       text(body: [|]), +                                       linebreak(), +                                       text(body: [|]), +                                       text(body: [x]), +                                       text(body: [+]), +                                       math.lr(body: ({ text(body: [|]), +                                                        text(body: [y]), +                                                        text(body: [|]) })), +                                       text(body: [+]), +                                       math.frac(denom: text(body: [a]), +                                                 num: text(body: [z])), +                                       text(body: [|]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/delimited-04.out view
@@ -0,0 +1,93 @@+--- parse tree ---+[ Code+    "typ/math/delimited-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/delimited-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/delimited-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/delimited-04.typ"+        ( line 3 , column 3 )+        (FieldAccess+           (Ident (Identifier "l")) (Ident (Identifier "bracket")))+    , MFrac (Text "a") (Text "b")+    , Code+        "typ/math/delimited-04.typ"+        ( line 3 , column 17 )+        (FieldAccess+           (Ident (Identifier "r")) (Ident (Identifier "bracket")))+    , Text "="+    , Code+        "typ/math/delimited-04.typ"+        ( line 4 , column 5 )+        (FuncCall+           (Ident (Identifier "lr"))+           [ BlockArg+               [ Code+                   "typ/math/delimited-04.typ"+                   ( line 4 , column 8 )+                   (FieldAccess+                      (Ident (Identifier "l")) (Ident (Identifier "bracket")))+               , MFrac (Text "a") (Text "b")+               , Code+                   "typ/math/delimited-04.typ"+                   ( line 4 , column 22 )+                   (FieldAccess+                      (Ident (Identifier "r")) (Ident (Identifier "bracket")))+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [[]), +                                       math.frac(denom: text(body: [b]), +                                                 num: text(body: [a])), +                                       text(body: []]), +                                       text(body: [=]), +                                       math.lr(body: ({ text(body: [[]), +                                                        math.frac(denom: text(body: [b]), +                                                                  num: text(body: [a])), +                                                        text(body: []]) })) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/delimited-05.out view
@@ -0,0 +1,77 @@+--- parse tree ---+[ Code+    "typ/math/delimited-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/delimited-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/delimited-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/delimited-05.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "lr"))+           [ BlockArg [ MFrac (Text "a") (Text "b") , Text "]" ] ])+    , Text "="+    , Text "a"+    , Text "="+    , Code+        "typ/math/delimited-05.typ"+        ( line 3 , column 19 )+        (FuncCall+           (Ident (Identifier "lr"))+           [ BlockArg [ Text "{" , MFrac (Text "a") (Text "b") ] ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.lr(body: ({ math.frac(denom: text(body: [b]), +                                                                  num: text(body: [a])), +                                                        text(body: []]) })), +                                       text(body: [=]), +                                       text(body: [a]), +                                       text(body: [=]), +                                       math.lr(body: ({ text(body: [{]), +                                                        math.frac(denom: text(body: [b]), +                                                                  num: text(body: [a])) })) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/delimited-06.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/math/delimited-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/delimited-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/delimited-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/delimited-06.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "lr"))+           [ BlockArg+               [ Text "]"+               , MAttach+                   (Just (MGroup Nothing Nothing [ Text "x" , Text "=" , Text "1" ]))+                   (Just (Text "n"))+                   (Code+                      "typ/math/delimited-06.typ"+                      ( line 3 , column 7 )+                      (Ident (Identifier "sum")))+               , Text "x"+               , Text "]"+               ]+           , KeyValArg (Identifier "size") (Literal (Numeric 70.0 Percent))+           ])+    , Text "<"+    , Code+        "typ/math/delimited-06.typ"+        ( line 4 , column 5 )+        (FuncCall+           (Ident (Identifier "lr"))+           [ BlockArg+               [ MGroup (Just "(") (Just ")") [ Text "1" , Text "," , Text "2" ] ]+           , KeyValArg (Identifier "size") (Literal (Numeric 200.0 Percent))+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.lr(body: ({ text(body: []]), +                                                        math.attach(b: { text(body: [x]), +                                                                         text(body: [=]), +                                                                         text(body: [1]) }, +                                                                    base: text(body: [∑]), +                                                                    t: text(body: [n])), +                                                        text(body: [x]), +                                                        text(body: []]) }), +                                               size: 70%), +                                       text(body: [<]), +                                       math.lr(body: (math.lr(body: ({ [(], +                                                                       text(body: [1]), +                                                                       text(body: [,]), +                                                                       text(body: [2]), +                                                                       [)] }))), +                                               size: 200%) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/delimited-07.out view
@@ -0,0 +1,85 @@+--- parse tree ---+[ Code+    "typ/math/delimited-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/delimited-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/delimited-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Code+        "typ/math/delimited-07.typ"+        ( line 3 , column 2 )+        (FuncCall+           (Ident (Identifier "floor"))+           [ BlockArg [ MFrac (Text "x") (Text "2") ] ])+    , Text ","+    , Code+        "typ/math/delimited-07.typ"+        ( line 3 , column 14 )+        (FuncCall+           (Ident (Identifier "ceil"))+           [ BlockArg [ MFrac (Text "x") (Text "2") ] ])+    , Text ","+    , Code+        "typ/math/delimited-07.typ"+        ( line 3 , column 25 )+        (FuncCall (Ident (Identifier "abs")) [ BlockArg [ Text "x" ] ])+    , Text ","+    , Code+        "typ/math/delimited-07.typ"+        ( line 3 , column 33 )+        (FuncCall (Ident (Identifier "norm")) [ BlockArg [ Text "x" ] ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { math.floor(body: math.frac(denom: text(body: [2]), +                                                                  num: text(body: [x]))), +                                       text(body: [,]), +                                       math.ceil(body: math.frac(denom: text(body: [2]), +                                                                 num: text(body: [x]))), +                                       text(body: [,]), +                                       math.abs(body: text(body: [x])), +                                       text(body: [,]), +                                       math.norm(body: text(body: [x])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/delimited-08.out view
@@ -0,0 +1,84 @@+--- parse tree ---+[ Code+    "typ/math/delimited-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/delimited-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/delimited-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/delimited-08.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "lr"))+           [ BlockArg+               [ Code+                   "typ/math/delimited-08.typ"+                   ( line 4 , column 5 )+                   (FuncCall+                      (Ident (Identifier "text"))+                      [ BlockArg [ Text "(" ]+                      , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+                      ])+               , MFrac (Text "a") (Text "b")+               , Code+                   "typ/math/delimited-08.typ"+                   ( line 5 , column 5 )+                   (FuncCall+                      (Ident (Identifier "text"))+                      [ BlockArg [ Text ")" ]+                      , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))+                      ])+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.lr(body: ({ text(body: text(body: [(]), +                                                           fill: rgb(18%,80%,25%,100%)), +                                                      math.frac(denom: text(body: [b]), +                                                                num: text(body: [a])), +                                                      text(body: text(body: [)]), +                                                           fill: rgb(0%,45%,85%,100%)) })), +                               numbering: none), +                 parbreak() })
+ test/typ/math/frac-00.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/math/frac-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/frac-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/frac-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "x"+    , Text "="+    , MFrac (Text "1") (Text "2")+    , Text "="+    , MFrac (Text "a") (MGroup Nothing Nothing [ Text "a" , Text "h" ])+    , Text "="+    , MFrac (Text "a") (Text "a")+    , Text "="+    , MFrac+        (Text "a") (MGroup Nothing Nothing [ MFrac (Text "1") (Text "2") ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [x]), +                                       text(body: [=]), +                                       math.frac(denom: text(body: [2]), +                                                 num: text(body: [1])), +                                       text(body: [=]), +                                       math.frac(denom: { text(body: [a]), +                                                          text(body: [h]) }, +                                                 num: text(body: [a])), +                                       text(body: [=]), +                                       math.frac(denom: text(body: [a]), +                                                 num: text(body: [a])), +                                       text(body: [=]), +                                       math.frac(denom: math.frac(denom: text(body: [2]), +                                                                  num: text(body: [1])), +                                                 num: text(body: [a])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/frac-01.out view
@@ -0,0 +1,85 @@+--- parse tree ---+[ Code+    "typ/math/frac-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/frac-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/frac-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MFrac+        (MGroup+           (Just "(")+           (Just ")")+           [ Text "|"+           , Text "x"+           , Text "|"+           , Text "+"+           , Text "|"+           , Text "y"+           , Text "|"+           ])+        (Text "2")+    , Text "<"+    , MFrac+        (MGroup (Just "[") (Just "]") [ Text "1" , Text "+" , Text "2" ])+        (Text "3")+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.frac(denom: text(body: [2]), +                                                 num: { text(body: [|]), +                                                        text(body: [x]), +                                                        text(body: [|]), +                                                        text(body: [+]), +                                                        text(body: [|]), +                                                        text(body: [y]), +                                                        text(body: [|]) }), +                                       text(body: [<]), +                                       math.frac(denom: text(body: [3]), +                                                 num: math.lr(body: ({ [[], +                                                                       text(body: [1]), +                                                                       text(body: [+]), +                                                                       text(body: [2]), +                                                                       []] }))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/frac-02.out view
@@ -0,0 +1,101 @@+--- parse tree ---+[ Code+    "typ/math/frac-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/frac-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/frac-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "x"+    , Text "="+    , MFrac+        (MGroup+           (Just "(")+           (Just ")")+           [ Code+               "typ/math/frac-02.typ"+               ( line 3 , column 8 )+               (Ident (Identifier "minus"))+           , Text "b"+           , Code+               "typ/math/frac-02.typ"+               ( line 3 , column 11 )+               (FieldAccess+                  (Ident (Identifier "minus")) (Ident (Identifier "plus")))+           , Code+               "typ/math/frac-02.typ"+               ( line 3 , column 22 )+               (FuncCall+                  (Ident (Identifier "sqrt"))+                  [ BlockArg+                      [ MAttach Nothing (Just (Text "2")) (Text "b")+                      , Code+                          "typ/math/frac-02.typ"+                          ( line 3 , column 31 )+                          (Ident (Identifier "minus"))+                      , Text "4"+                      , Text "a"+                      , Text "c"+                      ]+                  ])+           ])+        (MGroup Nothing Nothing [ Text "2" , Text "a" ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [x]), +                                       text(body: [=]), +                                       math.frac(denom: { text(body: [2]), +                                                          text(body: [a]) }, +                                                 num: { text(body: [−]), +                                                        text(body: [b]), +                                                        text(body: [±]), +                                                        math.sqrt(radicand: { math.attach(b: none, +                                                                                          base: text(body: [b]), +                                                                                          t: text(body: [2])), +                                                                              text(body: [−]), +                                                                              text(body: [4]), +                                                                              text(body: [a]), +                                                                              text(body: [c]) }) }) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/frac-03.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/math/frac-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/frac-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/frac-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/frac-03.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "binom"))+           [ BlockArg+               [ Code+                   "typ/math/frac-03.typ"+                   ( line 3 , column 9 )+                   (Ident (Identifier "circle"))+               ]+           , BlockArg+               [ Code+                   "typ/math/frac-03.typ"+                   ( line 3 , column 17 )+                   (Ident (Identifier "square"))+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.binom(lower: text(body: [□]), +                                                upper: text(body: [○])), +                               numbering: none), +                 parbreak() })
+ test/typ/math/frac-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/math/frac-05.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/math/frac-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/frac-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/frac-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MFrac (MFrac (Text "1") (Text "2")) (Text "3")+    , Text "="+    , MFrac+        (MGroup (Just "(") (Just ")") [ MFrac (Text "1") (Text "2") ])+        (Text "3")+    , Text "="+    , MFrac+        (Text "1") (MGroup Nothing Nothing [ MFrac (Text "2") (Text "3") ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.frac(denom: text(body: [3]), +                                                 num: math.frac(denom: text(body: [2]), +                                                                num: text(body: [1]))), +                                       text(body: [=]), +                                       math.frac(denom: text(body: [3]), +                                                 num: math.frac(denom: text(body: [2]), +                                                                num: text(body: [1]))), +                                       text(body: [=]), +                                       math.frac(denom: math.frac(denom: text(body: [3]), +                                                                  num: text(body: [2])), +                                                 num: text(body: [1])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/frac-06.out view
@@ -0,0 +1,226 @@+--- parse tree ---+[ Code+    "typ/math/frac-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/frac-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/frac-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MFrac+        (MAttach (Just (Text "1")) Nothing (Text "a"))+        (MAttach (Just (Text "2")) Nothing (Text "b"))+    , Text ","+    , MFrac+        (Text "1")+        (MGroup+           Nothing+           Nothing+           [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ])+    , Text ","+    , MFrac+        (Code+           "typ/math/frac-06.typ"+           ( line 3 , column 20 )+           (FuncCall (Ident (Identifier "zeta")) [ BlockArg [ Text "x" ] ]))+        (Text "2")+    , Text ","+    , Text " foo"+    , Code+        "typ/math/frac-06.typ"+        ( line 3 , column 36 )+        (FieldAccess+           (Ident (Identifier "l"))+           (FieldAccess+              (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+    , Text "x"+    , MFrac+        (Code+           "typ/math/frac-06.typ"+           ( line 3 , column 39 )+           (FieldAccess+              (Ident (Identifier "r"))+              (FieldAccess+                 (Ident (Identifier "double")) (Ident (Identifier "bracket")))))+        (Text "2")+    , HardBreak+    , MFrac (Text "1.2") (Text "3.7")+    , Text ","+    , MAttach Nothing (Just (Text "3.4")) (Text "2.3")+    , HardBreak+    , Text "\127987"+    , Text "\65039"+    , Text "\8205"+    , Text "\127752"+    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")+    , Text ","+    , Text "f"+    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")+    , Text ","+    , Code+        "typ/math/frac-06.typ"+        ( line 5 , column 23 )+        (Ident (Identifier "phi"))+    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")+    , Text ","+    , Text "\127987"+    , Text "\65039"+    , Text "\8205"+    , Text "\127752"+    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")+    , HardBreak+    , Text "+"+    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")+    , Text ","+    , Text "1"+    , MFrac (MGroup (Just "(") (Just ")") [ Text "x" ]) (Text "2")+    , Text ","+    , Text "2"+    , MFrac (MGroup (Just "[") (Just "]") [ Text "x" ]) (Text "2")+    , MGroup+        Nothing+        Nothing+        [ HardBreak , MGroup (Just "(") (Just ")") [ Text "a" ] ]+    , MFrac (Text "b") (Text "2")+    , Text ","+    , MGroup+        Nothing+        Nothing+        [ Text "b" , MGroup (Just "(") (Just ")") [ Text "a" ] ]+    , MFrac (MGroup (Just "[") (Just "]") [ Text "b" ]) (Text "2")+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.frac(denom: math.attach(b: text(body: [2]), +                                                                    base: text(body: [b]), +                                                                    t: none), +                                                 num: math.attach(b: text(body: [1]), +                                                                  base: text(body: [a]), +                                                                  t: none)), +                                       text(body: [,]), +                                       math.frac(denom: { text(body: [f]), +                                                          math.lr(body: ({ [(], +                                                                           text(body: [x]), +                                                                           [)] })) }, +                                                 num: text(body: [1])), +                                       text(body: [,]), +                                       math.frac(denom: text(body: [2]), +                                                 num: { text(body: [ζ]), +                                                        text(body: [(]), +                                                        text(body: [x]), +                                                        text(body: [)]) }), +                                       text(body: [,]), +                                       text(body: [ foo]), +                                       text(body: [⟦]), +                                       text(body: [x]), +                                       math.frac(denom: text(body: [2]), +                                                 num: text(body: [⟧])), +                                       linebreak(), +                                       math.frac(denom: text(body: [3.7]), +                                                 num: text(body: [1.2])), +                                       text(body: [,]), +                                       math.attach(b: none, +                                                   base: text(body: [2.3]), +                                                   t: text(body: [3.4])), +                                       linebreak(), +                                       text(body: [🏳]), +                                       text(body: [️]), +                                       text(body: [‍]), +                                       text(body: [🌈]), +                                       math.frac(denom: text(body: [2]), +                                                 num: math.lr(body: ({ [[], +                                                                       text(body: [x]), +                                                                       []] }))), +                                       text(body: [,]), +                                       text(body: [f]), +                                       math.frac(denom: text(body: [2]), +                                                 num: math.lr(body: ({ [[], +                                                                       text(body: [x]), +                                                                       []] }))), +                                       text(body: [,]), +                                       text(body: [φ]), +                                       math.frac(denom: text(body: [2]), +                                                 num: math.lr(body: ({ [[], +                                                                       text(body: [x]), +                                                                       []] }))), +                                       text(body: [,]), +                                       text(body: [🏳]), +                                       text(body: [️]), +                                       text(body: [‍]), +                                       text(body: [🌈]), +                                       math.frac(denom: text(body: [2]), +                                                 num: math.lr(body: ({ [[], +                                                                       text(body: [x]), +                                                                       []] }))), +                                       linebreak(), +                                       text(body: [+]), +                                       math.frac(denom: text(body: [2]), +                                                 num: math.lr(body: ({ [[], +                                                                       text(body: [x]), +                                                                       []] }))), +                                       text(body: [,]), +                                       text(body: [1]), +                                       math.frac(denom: text(body: [2]), +                                                 num: text(body: [x])), +                                       text(body: [,]), +                                       text(body: [2]), +                                       math.frac(denom: text(body: [2]), +                                                 num: math.lr(body: ({ [[], +                                                                       text(body: [x]), +                                                                       []] }))), +                                       linebreak(), +                                       math.lr(body: ({ [(], +                                                        text(body: [a]), +                                                        [)] })), +                                       math.frac(denom: text(body: [2]), +                                                 num: text(body: [b])), +                                       text(body: [,]), +                                       text(body: [b]), +                                       math.lr(body: ({ [(], +                                                        text(body: [a]), +                                                        [)] })), +                                       math.frac(denom: text(body: [2]), +                                                 num: math.lr(body: ({ [[], +                                                                       text(body: [b]), +                                                                       []] }))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-00.out view
@@ -0,0 +1,157 @@+--- parse tree ---+[ Code+    "typ/math/matrix-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/matrix-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center")) ])+, SoftBreak+, Equation+    False+    [ Code+        "typ/math/matrix-00.typ"+        ( line 4 , column 2 )+        (FuncCall (Ident (Identifier "mat")) [])+    , Code+        "typ/math/matrix-00.typ"+        ( line 4 , column 8 )+        (Ident (Identifier "dot"))+    , Code+        "typ/math/matrix-00.typ"+        ( line 5 , column 2 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg [ [ MGroup Nothing Nothing [] ] ] ])+    , Code+        "typ/math/matrix-00.typ"+        ( line 5 , column 9 )+        (Ident (Identifier "dot"))+    , Code+        "typ/math/matrix-00.typ"+        ( line 6 , column 2 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ BlockArg [ Text "1" ] , BlockArg [ Text "2" ] ])+    , Code+        "typ/math/matrix-00.typ"+        ( line 6 , column 12 )+        (Ident (Identifier "dot"))+    , Code+        "typ/math/matrix-00.typ"+        ( line 7 , column 2 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg [ [ Text "1" , Text "2" ] ] ])+    , HardBreak+    , Code+        "typ/math/matrix-00.typ"+        ( line 8 , column 2 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg [ [ Text "1" ] , [ Text "2" ] ] ])+    , Code+        "typ/math/matrix-00.typ"+        ( line 8 , column 12 )+        (Ident (Identifier "dot"))+    , Code+        "typ/math/matrix-00.typ"+        ( line 9 , column 2 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg [ [ Text "1" , Text "2" ] , [ Text "3" , Text "4" ] ] ])+    , Code+        "typ/math/matrix-00.typ"+        ( line 9 , column 18 )+        (Ident (Identifier "dot"))+    , Code+        "typ/math/matrix-00.typ"+        ( line 10 , column 2 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup+                     Nothing Nothing [ Text "1" , Text "+" , MAlignPoint , Text "2" ]+                 , MFrac (Text "1") (Text "2")+                 ]+               , [ MGroup Nothing Nothing [ MAlignPoint , Text "3" ] , Text "4" ]+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: false, +                               body: { math.mat(rows: ()), +                                       text(body: [⋅]), +                                       math.mat(rows: (({  }))), +                                       text(body: [⋅]), +                                       math.mat(rows: ((text(body: [1]), +                                                        text(body: [2])))), +                                       text(body: [⋅]), +                                       math.mat(rows: ((text(body: [1]), +                                                        text(body: [2])))), +                                       linebreak(), +                                       math.mat(rows: ((text(body: [1])), +                                                       (text(body: [2])))), +                                       text(body: [⋅]), +                                       math.mat(rows: ((text(body: [1]), +                                                        text(body: [2])), +                                                       (text(body: [3]), +                                                        text(body: [4])))), +                                       text(body: [⋅]), +                                       math.mat(rows: (({ text(body: [1]), +                                                          text(body: [+]), +                                                          math.alignpoint(), +                                                          text(body: [2]) }, +                                                        math.frac(denom: text(body: [2]), +                                                                  num: text(body: [1]))), +                                                       ({ math.alignpoint(), +                                                          text(body: [3]) }, +                                                        text(body: [4])))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-01.out view
@@ -0,0 +1,119 @@+--- parse tree ---+[ Code+    "typ/math/matrix-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/matrix-01.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ Text "1"+                 , Text "2"+                 , Code+                     "typ/math/matrix-01.typ"+                     ( line 4 , column 9 )+                     (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))+                 , Text "10"+                 ]+               , [ Text "2"+                 , Text "2"+                 , Code+                     "typ/math/matrix-01.typ"+                     ( line 5 , column 9 )+                     (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))+                 , Text "10"+                 ]+               , [ Code+                     "typ/math/matrix-01.typ"+                     ( line 6 , column 3 )+                     (FieldAccess (Ident (Identifier "v")) (Ident (Identifier "dots")))+                 , Code+                     "typ/math/matrix-01.typ"+                     ( line 6 , column 11 )+                     (FieldAccess (Ident (Identifier "v")) (Ident (Identifier "dots")))+                 , Code+                     "typ/math/matrix-01.typ"+                     ( line 6 , column 19 )+                     (FieldAccess+                        (Ident (Identifier "down")) (Ident (Identifier "dots")))+                 , Code+                     "typ/math/matrix-01.typ"+                     ( line 6 , column 30 )+                     (FieldAccess (Ident (Identifier "v")) (Ident (Identifier "dots")))+                 ]+               , [ Text "10"+                 , Text "10"+                 , Code+                     "typ/math/matrix-01.typ"+                     ( line 7 , column 11 )+                     (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))+                 , Text "10"+                 ]+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: ((text(body: [1]), +                                                      text(body: [2]), +                                                      text(body: […]), +                                                      text(body: [10])), +                                                     (text(body: [2]), +                                                      text(body: [2]), +                                                      text(body: […]), +                                                      text(body: [10])), +                                                     (text(body: [⋮]), +                                                      text(body: [⋮]), +                                                      text(body: [⋱]), +                                                      text(body: [⋮])), +                                                     (text(body: [10]), +                                                      text(body: [10]), +                                                      text(body: […]), +                                                      text(body: [10])))), +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-02.out view
@@ -0,0 +1,104 @@+--- parse tree ---+[ Code+    "typ/math/matrix-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/matrix-02.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ Text "a" , MAttach Nothing (Just (Text "2")) (Text "b") ]+               , [ MGroup+                     Nothing+                     Nothing+                     [ MAttach+                         (Just (MGroup Nothing Nothing [ Text "x" , HardBreak , Text "y" ]))+                         Nothing+                         (Code+                            "typ/math/matrix-02.typ"+                            ( line 5 , column 3 )+                            (Ident (Identifier "sum")))+                     , Text "x"+                     ]+                 , MAttach+                     Nothing+                     (Just (MGroup Nothing Nothing [ MFrac (Text "1") (Text "2") ]))+                     (Text "a")+                 ]+               , [ Code+                     "typ/math/matrix-02.typ"+                     ( line 6 , column 3 )+                     (Ident (Identifier "zeta"))+                 , Code+                     "typ/math/matrix-02.typ"+                     ( line 6 , column 9 )+                     (Ident (Identifier "alpha"))+                 ]+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: ((text(body: [a]), +                                                      math.attach(b: none, +                                                                  base: text(body: [b]), +                                                                  t: text(body: [2]))), +                                                     ({ math.attach(b: { text(body: [x]), +                                                                         linebreak(), +                                                                         text(body: [y]) }, +                                                                    base: text(body: [∑]), +                                                                    t: none), +                                                        text(body: [x]) }, +                                                      math.attach(b: none, +                                                                  base: text(body: [a]), +                                                                  t: math.frac(denom: text(body: [2]), +                                                                               num: text(body: [1])))), +                                                     (text(body: [ζ]), +                                                      text(body: [α])))), +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-03.out view
@@ -0,0 +1,103 @@+--- parse tree ---+[ Code+    "typ/math/matrix-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/matrix-03.typ"+    ( line 3 , column 2 )+    (Set+       (FieldAccess+          (Ident (Identifier "mat")) (Ident (Identifier "math")))+       [ KeyValArg (Identifier "delim") (Literal (String "[")) ])+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/matrix-03.typ"+        ( line 4 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg [ [ Text "1" , Text "2" ] , [ Text "3" , Text "4" ] ] ])+    ]+, SoftBreak+, Equation+    True+    [ Text "a"+    , Text "+"+    , Code+        "typ/math/matrix-03.typ"+        ( line 5 , column 7 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ KeyValArg (Identifier "delim") (Literal None)+           , ArrayArg [ [ Text "1" , Text "2" ] , [ Text "3" , Text "4" ] ]+           ])+    , Text "+"+    , Text "b"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(delim: "[", +                                              rows: ((text(body: [1]), +                                                      text(body: [2])), +                                                     (text(body: [3]), +                                                      text(body: [4])))), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [a]), +                                       text(body: [+]), +                                       math.mat(delim: none, +                                                rows: ((text(body: [1]), +                                                        text(body: [2])), +                                                       (text(body: [3]), +                                                        text(body: [4])))), +                                       text(body: [+]), +                                       text(body: [b]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-04.out view
@@ -0,0 +1,258 @@+--- parse tree ---+[ Code+    "typ/math/matrix-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/matrix-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center")) ])+, SoftBreak+, Code+    "typ/math/matrix-04.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg (Identifier "columns") (Literal (Int 3))+       , KeyValArg (Identifier "gutter") (Literal (Numeric 10.0 Pt))+       , NormalArg+           (Block+              (Content+                 [ Equation+                     True+                     [ Code+                         "typ/math/matrix-04.typ"+                         ( line 8 , column 5 )+                         (FuncCall+                            (Ident (Identifier "mat"))+                            [ BlockArg [ Text "1" ]+                            , BlockArg [ Text "2" ]+                            , KeyValArg (Identifier "delim") (Block (Content [ Text "[" ]))+                            ])+                     ]+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Equation+                     True+                     [ Code+                         "typ/math/matrix-04.typ"+                         ( line 9 , column 5 )+                         (FuncCall+                            (Ident (Identifier "mat"))+                            [ ArrayArg [ [ Text "1" , Text "2" ] ]+                            , KeyValArg (Identifier "delim") (Block (Content [ Text "[" ]))+                            ])+                     ]+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Equation+                     True+                     [ Code+                         "typ/math/matrix-04.typ"+                         ( line 10 , column 5 )+                         (FuncCall+                            (Ident (Identifier "mat"))+                            [ KeyValArg (Identifier "delim") (Block (Content [ Text "[" ]))+                            , BlockArg [ Text "1" ]+                            , BlockArg [ Text "2" ]+                            ])+                     ]+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Equation+                     True+                     [ Code+                         "typ/math/matrix-04.typ"+                         ( line 12 , column 5 )+                         (FuncCall+                            (Ident (Identifier "mat"))+                            [ ArrayArg [ [ Text "1" ] , [ Text "2" ] ]+                            , KeyValArg (Identifier "delim") (Block (Content [ Text "[" ]))+                            ])+                     ]+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Equation+                     True+                     [ Code+                         "typ/math/matrix-04.typ"+                         ( line 13 , column 5 )+                         (FuncCall+                            (Ident (Identifier "mat"))+                            [ ArrayArg [ [ Text "1" ] ]+                            , KeyValArg (Identifier "delim") (Block (Content [ Text "[" ]))+                            , BlockArg [ Text "2" ]+                            ])+                     ]+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Equation+                     True+                     [ Code+                         "typ/math/matrix-04.typ"+                         ( line 14 , column 5 )+                         (FuncCall+                            (Ident (Identifier "mat"))+                            [ KeyValArg (Identifier "delim") (Block (Content [ Text "[" ]))+                            , ArrayArg [ [ Text "1" ] , [ Text "2" ] ]+                            ])+                     ]+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Equation+                     True+                     [ Code+                         "typ/math/matrix-04.typ"+                         ( line 16 , column 5 )+                         (FuncCall+                            (Ident (Identifier "mat"))+                            [ ArrayArg [ [ Text "1" , Text "2" ] ]+                            , KeyValArg (Identifier "delim") (Block (Content [ Text "[" ]))+                            , BlockArg [ Text "3" ]+                            , BlockArg [ Text "4" ]+                            ])+                     ]+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Equation+                     True+                     [ Code+                         "typ/math/matrix-04.typ"+                         ( line 17 , column 5 )+                         (FuncCall+                            (Ident (Identifier "mat"))+                            [ KeyValArg (Identifier "delim") (Block (Content [ Text "[" ]))+                            , ArrayArg [ [ Text "1" , Text "2" ] , [ Text "3" , Text "4" ] ]+                            ])+                     ]+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Equation+                     True+                     [ Code+                         "typ/math/matrix-04.typ"+                         ( line 18 , column 5 )+                         (FuncCall+                            (Ident (Identifier "mat"))+                            [ ArrayArg [ [ Text "1" , Text "2" ] , [ Text "3" , Text "4" ] ]+                            , KeyValArg (Identifier "delim") (Block (Content [ Text "[" ]))+                            ])+                     ]+                 ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: (math.equation(block: true, +                                               body: math.mat(delim: text(body: [[]), +                                                              rows: ((text(body: [1]), +                                                                      text(body: [2])))), +                                               numbering: none), +                                 math.equation(block: true, +                                               body: math.mat(delim: text(body: [[]), +                                                              rows: ((text(body: [1]), +                                                                      text(body: [2])))), +                                               numbering: none), +                                 math.equation(block: true, +                                               body: math.mat(delim: text(body: [[]), +                                                              rows: ((text(body: [1]), +                                                                      text(body: [2])))), +                                               numbering: none), +                                 math.equation(block: true, +                                               body: math.mat(delim: text(body: [[]), +                                                              rows: ((text(body: [1])), +                                                                     (text(body: [2])))), +                                               numbering: none), +                                 math.equation(block: true, +                                               body: math.mat(delim: text(body: [[]), +                                                              rows: ((text(body: [1])), +                                                                     (text(body: [2])))), +                                               numbering: none), +                                 math.equation(block: true, +                                               body: math.mat(delim: text(body: [[]), +                                                              rows: ((text(body: [1])), +                                                                     (text(body: [2])))), +                                               numbering: none), +                                 math.equation(block: true, +                                               body: math.mat(delim: text(body: [[]), +                                                              rows: ((text(body: [1]), +                                                                      text(body: [2])), +                                                                     (text(body: [3]), +                                                                      text(body: [4])))), +                                               numbering: none), +                                 math.equation(block: true, +                                               body: math.mat(delim: text(body: [[]), +                                                              rows: ((text(body: [1]), +                                                                      text(body: [2])), +                                                                     (text(body: [3]), +                                                                      text(body: [4])))), +                                               numbering: none), +                                 math.equation(block: true, +                                               body: math.mat(delim: text(body: [[]), +                                                              rows: ((text(body: [1]), +                                                                      text(body: [2])), +                                                                     (text(body: [3]), +                                                                      text(body: [4])))), +                                               numbering: none)), +                      columns: 3, +                      gutter: 10.0pt), +                 parbreak() })
+ test/typ/math/matrix-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/math/matrix-alignment-00.out view
@@ -0,0 +1,95 @@+--- parse tree ---+[ Code+    "typ/math/matrix-alignment-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-alignment-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-alignment-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-00.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "vec"))+           [ BlockArg+               [ Text " a "+               , MAlignPoint+               , Text " a a a "+               , MAlignPoint+               , Text " a a"+               ]+           , BlockArg+               [ Text " a a "+               , MAlignPoint+               , Text " a a "+               , MAlignPoint+               , Text " a"+               ]+           , BlockArg+               [ Text " a a a "+               , MAlignPoint+               , Text " a "+               , MAlignPoint+               , Text " a a a"+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.vec(children: ({ text(body: [ a ]), +                                                           math.alignpoint(), +                                                           text(body: [ a a a ]), +                                                           math.alignpoint(), +                                                           text(body: [ a a]) }, +                                                         { text(body: [ a a ]), +                                                           math.alignpoint(), +                                                           text(body: [ a a ]), +                                                           math.alignpoint(), +                                                           text(body: [ a]) }, +                                                         { text(body: [ a a a ]), +                                                           math.alignpoint(), +                                                           text(body: [ a ]), +                                                           math.alignpoint(), +                                                           text(body: [ a a a]) })), +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-alignment-01.out view
@@ -0,0 +1,106 @@+--- parse tree ---+[ Code+    "typ/math/matrix-alignment-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-alignment-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-alignment-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-01.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup+                     Nothing+                     Nothing+                     [ Text " a "+                     , MAlignPoint+                     , Text " a a a "+                     , MAlignPoint+                     , Text " a a"+                     ]+                 ]+               , [ MGroup+                     Nothing+                     Nothing+                     [ Text " a a "+                     , MAlignPoint+                     , Text " a a "+                     , MAlignPoint+                     , Text " a"+                     ]+                 ]+               , [ MGroup+                     Nothing+                     Nothing+                     [ Text " a a a "+                     , MAlignPoint+                     , Text " a "+                     , MAlignPoint+                     , Text " a a a"+                     ]+                 ]+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ text(body: [ a ]), +                                                        math.alignpoint(), +                                                        text(body: [ a a a ]), +                                                        math.alignpoint(), +                                                        text(body: [ a a]) }), +                                                     ({ text(body: [ a a ]), +                                                        math.alignpoint(), +                                                        text(body: [ a a ]), +                                                        math.alignpoint(), +                                                        text(body: [ a]) }), +                                                     ({ text(body: [ a a a ]), +                                                        math.alignpoint(), +                                                        text(body: [ a ]), +                                                        math.alignpoint(), +                                                        text(body: [ a a a]) }))), +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-alignment-02.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/math/matrix-alignment-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-alignment-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-alignment-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-02.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ Text " a" , Text " a a a" , Text " a a" ]+               , [ Text " a a" , Text " a a" , Text " a" ]+               , [ Text " a a a" , Text " a" , Text " a a a" ]+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: ((text(body: [ a]), +                                                      text(body: [ a a a]), +                                                      text(body: [ a a])), +                                                     (text(body: [ a a]), +                                                      text(body: [ a a]), +                                                      text(body: [ a])), +                                                     (text(body: [ a a a]), +                                                      text(body: [ a]), +                                                      text(body: [ a a a])))), +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-alignment-03.out view
@@ -0,0 +1,91 @@+--- parse tree ---+[ Code+    "typ/math/matrix-alignment-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-alignment-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-alignment-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-03.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup Nothing Nothing [ MAlignPoint , Text "a" ]+                 , MGroup Nothing Nothing [ MAlignPoint , Text "a a a" ]+                 , MGroup Nothing Nothing [ MAlignPoint , Text "a a" ]+                 ]+               , [ MGroup Nothing Nothing [ MAlignPoint , Text "a a" ]+                 , MGroup Nothing Nothing [ MAlignPoint , Text "a a" ]+                 , MGroup Nothing Nothing [ MAlignPoint , Text "a" ]+                 ]+               , [ MGroup Nothing Nothing [ MAlignPoint , Text "a a a" ]+                 , MGroup Nothing Nothing [ MAlignPoint , Text "a" ]+                 , MGroup Nothing Nothing [ MAlignPoint , Text "a a a" ]+                 ]+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ math.alignpoint(), +                                                        text(body: [a]) }, +                                                      { math.alignpoint(), +                                                        text(body: [a a a]) }, +                                                      { math.alignpoint(), +                                                        text(body: [a a]) }), +                                                     ({ math.alignpoint(), +                                                        text(body: [a a]) }, +                                                      { math.alignpoint(), +                                                        text(body: [a a]) }, +                                                      { math.alignpoint(), +                                                        text(body: [a]) }), +                                                     ({ math.alignpoint(), +                                                        text(body: [a a a]) }, +                                                      { math.alignpoint(), +                                                        text(body: [a]) }, +                                                      { math.alignpoint(), +                                                        text(body: [a a a]) }))), +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-alignment-04.out view
@@ -0,0 +1,91 @@+--- parse tree ---+[ Code+    "typ/math/matrix-alignment-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-alignment-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-alignment-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-04.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup Nothing Nothing [ Text " a" , MAlignPoint ]+                 , MGroup Nothing Nothing [ Text " a a a" , MAlignPoint ]+                 , MGroup Nothing Nothing [ Text " a a" , MAlignPoint ]+                 ]+               , [ MGroup Nothing Nothing [ Text " a a" , MAlignPoint ]+                 , MGroup Nothing Nothing [ Text " a a" , MAlignPoint ]+                 , MGroup Nothing Nothing [ Text " a" , MAlignPoint ]+                 ]+               , [ MGroup Nothing Nothing [ Text " a a a" , MAlignPoint ]+                 , MGroup Nothing Nothing [ Text " a" , MAlignPoint ]+                 , MGroup Nothing Nothing [ Text " a a a" , MAlignPoint ]+                 ]+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ text(body: [ a]), +                                                        math.alignpoint() }, +                                                      { text(body: [ a a a]), +                                                        math.alignpoint() }, +                                                      { text(body: [ a a]), +                                                        math.alignpoint() }), +                                                     ({ text(body: [ a a]), +                                                        math.alignpoint() }, +                                                      { text(body: [ a a]), +                                                        math.alignpoint() }, +                                                      { text(body: [ a]), +                                                        math.alignpoint() }), +                                                     ({ text(body: [ a a a]), +                                                        math.alignpoint() }, +                                                      { text(body: [ a]), +                                                        math.alignpoint() }, +                                                      { text(body: [ a a a]), +                                                        math.alignpoint() }))), +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-alignment-05.out view
@@ -0,0 +1,223 @@+--- parse tree ---+[ Code+    "typ/math/matrix-alignment-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-alignment-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-alignment-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-05.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup+                     Nothing Nothing [ MAlignPoint , Text "a" , Text "+" , Text "b" ]+                 , Text "c"+                 ]+               , [ MGroup Nothing Nothing [ MAlignPoint , Text "d" ] , Text "e" ]+               ]+           ])+    ]+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-05.typ"+        ( line 4 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup+                     Nothing+                     Nothing+                     [ MAlignPoint , Text "a" , Text "+" , Text "b" , MAlignPoint ]+                 , Text "c"+                 ]+               , [ MGroup Nothing Nothing [ MAlignPoint , Text "d" , MAlignPoint ]+                 , Text "e"+                 ]+               ]+           ])+    ]+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-05.typ"+        ( line 5 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup+                     Nothing+                     Nothing+                     [ MAlignPoint+                     , MAlignPoint+                     , MAlignPoint+                     , Text "a"+                     , Text "+"+                     , Text "b"+                     ]+                 , Text "c"+                 ]+               , [ MGroup+                     Nothing+                     Nothing+                     [ MAlignPoint , MAlignPoint , MAlignPoint , Text "d" ]+                 , Text "e"+                 ]+               ]+           ])+    ]+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-05.typ"+        ( line 6 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup+                     Nothing+                     Nothing+                     [ Text "."+                     , MAlignPoint+                     , Text "a"+                     , Text "+"+                     , Text "b"+                     , MAlignPoint+                     , Text "."+                     ]+                 , Text "c"+                 ]+               , [ MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-05.typ"+                         ( line 6 , column 17 )+                         (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))+                     , Text "."+                     , Text "."+                     , MAlignPoint+                     , Text "d"+                     , MAlignPoint+                     , Code+                         "typ/math/matrix-alignment-05.typ"+                         ( line 6 , column 25 )+                         (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))+                     , Text "."+                     , Text "."+                     ]+                 , Text "e"+                 ]+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ math.alignpoint(), +                                                        text(body: [a]), +                                                        text(body: [+]), +                                                        text(body: [b]) }, +                                                      text(body: [c])), +                                                     ({ math.alignpoint(), +                                                        text(body: [d]) }, +                                                      text(body: [e])))), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ math.alignpoint(), +                                                        text(body: [a]), +                                                        text(body: [+]), +                                                        text(body: [b]), +                                                        math.alignpoint() }, +                                                      text(body: [c])), +                                                     ({ math.alignpoint(), +                                                        text(body: [d]), +                                                        math.alignpoint() }, +                                                      text(body: [e])))), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ math.alignpoint(), +                                                        math.alignpoint(), +                                                        math.alignpoint(), +                                                        text(body: [a]), +                                                        text(body: [+]), +                                                        text(body: [b]) }, +                                                      text(body: [c])), +                                                     ({ math.alignpoint(), +                                                        math.alignpoint(), +                                                        math.alignpoint(), +                                                        text(body: [d]) }, +                                                      text(body: [e])))), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ text(body: [.]), +                                                        math.alignpoint(), +                                                        text(body: [a]), +                                                        text(body: [+]), +                                                        text(body: [b]), +                                                        math.alignpoint(), +                                                        text(body: [.]) }, +                                                      text(body: [c])), +                                                     ({ text(body: […]), +                                                        text(body: [.]), +                                                        text(body: [.]), +                                                        math.alignpoint(), +                                                        text(body: [d]), +                                                        math.alignpoint(), +                                                        text(body: […]), +                                                        text(body: [.]), +                                                        text(body: [.]) }, +                                                      text(body: [e])))), +                               numbering: none), +                 parbreak() })
+ test/typ/math/matrix-alignment-06.out view
@@ -0,0 +1,321 @@+--- parse tree ---+[ Code+    "typ/math/matrix-alignment-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/matrix-alignment-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/matrix-alignment-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-06.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 3 , column 7 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     ]+                 , Text "1"+                 , Text "1"+                 ]+               , [ Text "1"+                 , MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 3 , column 20 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     ]+                 , Text "1"+                 ]+               , [ Text "1"+                 , Text "1"+                 , MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 3 , column 33 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     ]+                 ]+               ]+           ])+    ]+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-06.typ"+        ( line 4 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 4 , column 7 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     , MAlignPoint+                     ]+                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]+                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]+                 ]+               , [ MGroup Nothing Nothing [ Text "1" , MAlignPoint ]+                 , MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 4 , column 24 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     , MAlignPoint+                     ]+                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]+                 ]+               , [ MGroup Nothing Nothing [ Text "1" , MAlignPoint ]+                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]+                 , MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 4 , column 41 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     , MAlignPoint+                     ]+                 ]+               ]+           ])+    ]+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-06.typ"+        ( line 5 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 5 , column 7 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     , MAlignPoint+                     ]+                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]+                 , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]+                 ]+               , [ Text "1"+                 , MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 5 , column 23 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     ]+                 , Text "1"+                 ]+               , [ Text "1"+                 , Text "1"+                 , MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 5 , column 36 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     ]+                 ]+               ]+           ])+    ]+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/matrix-alignment-06.typ"+        ( line 6 , column 3 )+        (FuncCall+           (Ident (Identifier "mat"))+           [ ArrayArg+               [ [ MGroup+                     Nothing+                     Nothing+                     [ MAlignPoint+                     , Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 6 , column 8 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     ]+                 , MGroup Nothing Nothing [ MAlignPoint , Text "1" ]+                 , MGroup Nothing Nothing [ MAlignPoint , Text "1" ]+                 ]+               , [ Text "1"+                 , MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 6 , column 23 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     ]+                 , Text "1"+                 ]+               , [ Text "1"+                 , Text "1"+                 , MGroup+                     Nothing+                     Nothing+                     [ Code+                         "typ/math/matrix-alignment-06.typ"+                         ( line 6 , column 36 )+                         (Ident (Identifier "minus"))+                     , Text "1"+                     ]+                 ]+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ text(body: [−]), +                                                        text(body: [1]) }, +                                                      text(body: [1]), +                                                      text(body: [1])), +                                                     (text(body: [1]), +                                                      { text(body: [−]), +                                                        text(body: [1]) }, +                                                      text(body: [1])), +                                                     (text(body: [1]), +                                                      text(body: [1]), +                                                      { text(body: [−]), +                                                        text(body: [1]) }))), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ text(body: [−]), +                                                        text(body: [1]), +                                                        math.alignpoint() }, +                                                      { text(body: [1]), +                                                        math.alignpoint() }, +                                                      { text(body: [1]), +                                                        math.alignpoint() }), +                                                     ({ text(body: [1]), +                                                        math.alignpoint() }, +                                                      { text(body: [−]), +                                                        text(body: [1]), +                                                        math.alignpoint() }, +                                                      { text(body: [1]), +                                                        math.alignpoint() }), +                                                     ({ text(body: [1]), +                                                        math.alignpoint() }, +                                                      { text(body: [1]), +                                                        math.alignpoint() }, +                                                      { text(body: [−]), +                                                        text(body: [1]), +                                                        math.alignpoint() }))), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ text(body: [−]), +                                                        text(body: [1]), +                                                        math.alignpoint() }, +                                                      { text(body: [1]), +                                                        math.alignpoint() }, +                                                      { text(body: [1]), +                                                        math.alignpoint() }), +                                                     (text(body: [1]), +                                                      { text(body: [−]), +                                                        text(body: [1]) }, +                                                      text(body: [1])), +                                                     (text(body: [1]), +                                                      text(body: [1]), +                                                      { text(body: [−]), +                                                        text(body: [1]) }))), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.mat(rows: (({ math.alignpoint(), +                                                        text(body: [−]), +                                                        text(body: [1]) }, +                                                      { math.alignpoint(), +                                                        text(body: [1]) }, +                                                      { math.alignpoint(), +                                                        text(body: [1]) }), +                                                     (text(body: [1]), +                                                      { text(body: [−]), +                                                        text(body: [1]) }, +                                                      text(body: [1])), +                                                     (text(body: [1]), +                                                      text(body: [1]), +                                                      { text(body: [−]), +                                                        text(body: [1]) }))), +                               numbering: none), +                 parbreak() })
+ test/typ/math/multiline-00.out view
@@ -0,0 +1,101 @@+--- parse tree ---+[ Code+    "typ/math/multiline-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/multiline-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/multiline-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "x"+    , MAlignPoint+    , Text "="+    , Text "x"+    , Text "+"+    , Text "y"+    , HardBreak+    , MAlignPoint+    , Text "="+    , Text "x"+    , Text "+"+    , Text "2"+    , Text "z"+    , HardBreak+    , MAlignPoint+    , Text "="+    , Code+        "typ/math/multiline-00.typ"+        ( line 5 , column 8 )+        (Ident (Identifier "sum"))+    , Text "x"+    , Code+        "typ/math/multiline-00.typ"+        ( line 5 , column 14 )+        (Ident (Identifier "dot"))+    , Text "2"+    , Text "z"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [x]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [x]), +                                       text(body: [+]), +                                       text(body: [y]), +                                       linebreak(), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [x]), +                                       text(body: [+]), +                                       text(body: [2]), +                                       text(body: [z]), +                                       linebreak(), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [∑]), +                                       text(body: [x]), +                                       text(body: [⋅]), +                                       text(body: [2]), +                                       text(body: [z]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/multiline-01.out view
@@ -0,0 +1,112 @@+--- parse tree ---+[ Code+    "typ/math/multiline-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/multiline-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/multiline-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "x"+    , Text "+"+    , Text "1"+    , MAlignPoint+    , Text "="+    , MAttach Nothing (Just (Text "2")) (Text "a")+    , Text "+"+    , MAttach Nothing (Just (Text "2")) (Text "b")+    , HardBreak+    , Text "y"+    , MAlignPoint+    , Text "="+    , Text "a"+    , Text "+"+    , MAttach Nothing (Just (Text "2")) (Text "b")+    , HardBreak+    , Text "z"+    , MAlignPoint+    , Text "="+    , Code+        "typ/math/multiline-01.typ"+        ( line 5 , column 12 )+        (Ident (Identifier "alpha"))+    , Code+        "typ/math/multiline-01.typ"+        ( line 5 , column 18 )+        (Ident (Identifier "dot"))+    , Code+        "typ/math/multiline-01.typ"+        ( line 5 , column 22 )+        (Ident (Identifier "beta"))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [x]), +                                       text(body: [+]), +                                       text(body: [1]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       math.attach(b: none, +                                                   base: text(body: [a]), +                                                   t: text(body: [2])), +                                       text(body: [+]), +                                       math.attach(b: none, +                                                   base: text(body: [b]), +                                                   t: text(body: [2])), +                                       linebreak(), +                                       text(body: [y]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [a]), +                                       text(body: [+]), +                                       math.attach(b: none, +                                                   base: text(body: [b]), +                                                   t: text(body: [2])), +                                       linebreak(), +                                       text(body: [z]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [α]), +                                       text(body: [⋅]), +                                       text(body: [β]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/multiline-02.out view
@@ -0,0 +1,91 @@+--- parse tree ---+[ Code+    "typ/math/multiline-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/multiline-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/multiline-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "a"+    , Text "+"+    , Text "b"+    , MAlignPoint+    , Text "="+    , Text "2"+    , Text "+"+    , Text "3"+    , MAlignPoint+    , Text "="+    , Text "5"+    , HardBreak+    , Text "b"+    , MAlignPoint+    , Text "="+    , Text "c"+    , MAlignPoint+    , Text "="+    , Text "3"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [a]), +                                       text(body: [+]), +                                       text(body: [b]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [2]), +                                       text(body: [+]), +                                       text(body: [3]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [5]), +                                       linebreak(), +                                       text(body: [b]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [c]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [3]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/multiline-03.out view
@@ -0,0 +1,90 @@+--- parse tree ---+[ Code+    "typ/math/multiline-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/multiline-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/multiline-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "f"+    , Code+        "typ/math/multiline-03.typ"+        ( line 3 , column 5 )+        (FieldAccess+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))+    , Code+        "typ/math/multiline-03.typ"+        ( line 3 , column 8 )+        (FuncCall+           (Ident (Identifier "cases"))+           [ BlockArg+               [ Text "1"+               , Text "+"+               , Text "2"+               , MAlignPoint+               , Text "iff "+               , MAlignPoint+               , Text "x"+               ]+           , BlockArg+               [ Text "3" , MAlignPoint , Text "if " , MAlignPoint , Text "y" ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [f]), +                                       text(body: [≔]), +                                       math.cases(children: ({ text(body: [1]), +                                                               text(body: [+]), +                                                               text(body: [2]), +                                                               math.alignpoint(), +                                                               text(body: [iff ]), +                                                               math.alignpoint(), +                                                               text(body: [x]) }, +                                                             { text(body: [3]), +                                                               math.alignpoint(), +                                                               text(body: [if ]), +                                                               math.alignpoint(), +                                                               text(body: [y]) })) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/multiline-04.out view
@@ -0,0 +1,79 @@+--- parse tree ---+[ Code+    "typ/math/multiline-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/multiline-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/multiline-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text " abc "+    , MAlignPoint+    , Text "="+    , Text "c"+    , HardBreak+    , MAlignPoint+    , Text "="+    , Text "d"+    , Text "+"+    , Text "1"+    , HardBreak+    , Text "="+    , Text "x"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [ abc ]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [c]), +                                       linebreak(), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [d]), +                                       text(body: [+]), +                                       text(body: [1]), +                                       linebreak(), +                                       text(body: [=]), +                                       text(body: [x]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/multiline-05.out view
@@ -0,0 +1,112 @@+--- parse tree ---+[ Code+    "typ/math/multiline-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/multiline-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/multiline-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "n"+              , Code+                  "typ/math/multiline-05.typ"+                  ( line 3 , column 10 )+                  (Ident (Identifier "in"))+              , Code+                  "typ/math/multiline-05.typ"+                  ( line 3 , column 13 )+                  (Ident (Identifier "NN"))+              , HardBreak+              , Text "n"+              , Code+                  "typ/math/multiline-05.typ"+                  ( line 3 , column 20 )+                  (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))+              , Text "5"+              ]))+        Nothing+        (Code+           "typ/math/multiline-05.typ"+           ( line 3 , column 3 )+           (Ident (Identifier "sum")))+    , Text "n"+    , Text "="+    , MFrac+        (MGroup+           (Just "(")+           (Just ")")+           [ Text "5"+           , MGroup (Just "(") (Just ")") [ Text "5" , Text "+" , Text "1" ]+           ])+        (Text "2")+    , Text "="+    , Text "15"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: { text(body: [n]), +                                                        text(body: [∈]), +                                                        text(body: [ℕ]), +                                                        linebreak(), +                                                        text(body: [n]), +                                                        text(body: [≤]), +                                                        text(body: [5]) }, +                                                   base: text(body: [∑]), +                                                   t: none), +                                       text(body: [n]), +                                       text(body: [=]), +                                       math.frac(denom: text(body: [2]), +                                                 num: { text(body: [5]), +                                                        math.lr(body: ({ [(], +                                                                         text(body: [5]), +                                                                         text(body: [+]), +                                                                         text(body: [1]), +                                                                         [)] })) }), +                                       text(body: [=]), +                                       text(body: [15]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/multiline-06.out view
@@ -0,0 +1,67 @@+--- parse tree ---+[ Code+    "typ/math/multiline-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/multiline-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/multiline-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True [ Text " abc " , MAlignPoint , Text "=" , Text "c" ]+, SoftBreak+, Text "No"+, Space+, Text "trailing"+, Space+, Text "line"+, Space+, Text "break"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [ abc ]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [c]) }, +                               numbering: none), +                 text(body: [+No trailing line break.]), +                 parbreak() })
+ test/typ/math/multiline-07.out view
@@ -0,0 +1,69 @@+--- parse tree ---+[ Code+    "typ/math/multiline-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/multiline-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/multiline-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text " abc " , MAlignPoint , Text "=" , Text "c" , HardBreak ]+, SoftBreak+, Text "One"+, Space+, Text "trailing"+, Space+, Text "line"+, Space+, Text "break"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [ abc ]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [c]), +                                       linebreak() }, +                               numbering: none), +                 text(body: [+One trailing line break.]), +                 parbreak() })
+ test/typ/math/multiline-08.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/math/multiline-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/multiline-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/multiline-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text " abc "+    , MAlignPoint+    , Text "="+    , Text "c"+    , HardBreak+    , HardBreak+    , HardBreak+    ]+, SoftBreak+, Text "Multiple"+, Space+, Text "trailing"+, Space+, Text "line"+, Space+, Text "breaks"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [ abc ]), +                                       math.alignpoint(), +                                       text(body: [=]), +                                       text(body: [c]), +                                       linebreak(), +                                       linebreak(), +                                       linebreak() }, +                               numbering: none), +                 text(body: [+Multiple trailing line breaks.]), +                 parbreak() })
+ test/typ/math/numbering-00.out view
@@ -0,0 +1,185 @@+--- parse tree ---+[ Code+    "typ/math/numbering-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/numbering-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/numbering-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/math/numbering-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 150.0 Pt)) ])+, SoftBreak+, Code+    "typ/math/numbering-00.typ"+    ( line 3 , column 2 )+    (Set+       (FieldAccess+          (Ident (Identifier "equation")) (Ident (Identifier "math")))+       [ KeyValArg (Identifier "numbering") (Literal (String "(I)")) ])+, ParBreak+, Text "We"+, Space+, Text "define"+, Space+, Equation False [ Text "x" ]+, Space+, Text "in"+, Space+, Text "preparation"+, Space+, Text "of"+, Space+, Ref "fib" (Literal Auto)+, Text ":"+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/numbering-00.typ"+        ( line 6 , column 3 )+        (FieldAccess (Ident (Identifier "alt")) (Ident (Identifier "phi")))+    , Code+        "typ/math/numbering-00.typ"+        ( line 6 , column 11 )+        (FieldAccess+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))+    , MFrac+        (MGroup+           (Just "(")+           (Just ")")+           [ Text "1"+           , Text "+"+           , Code+               "typ/math/numbering-00.typ"+               ( line 6 , column 19 )+               (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "5" ] ])+           ])+        (Text "2")+    ]+, Space+, Code+    "typ/math/numbering-00.typ" ( line 6 , column 34 ) (Label "ratio")+, ParBreak+, Text "With"+, Space+, Ref "ratio" (Literal Auto)+, Text ","+, Space+, Text "we"+, Space+, Text "get"+, SoftBreak+, Equation+    True+    [ MAttach (Just (Text "n")) Nothing (Text "F")+    , Text "="+    , Code+        "typ/math/numbering-00.typ"+        ( line 9 , column 9 )+        (FuncCall+           (Ident (Identifier "round"))+           [ BlockArg+               [ MFrac+                   (Text "1")+                   (Code+                      "typ/math/numbering-00.typ"+                      ( line 9 , column 19 )+                      (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "5" ] ]))+               , MAttach+                   Nothing+                   (Just (Text "n"))+                   (Code+                      "typ/math/numbering-00.typ"+                      ( line 9 , column 27 )+                      (FieldAccess+                         (Ident (Identifier "alt")) (Ident (Identifier "phi"))))+               ]+           ])+    ]+, Space+, Code+    "typ/math/numbering-00.typ" ( line 9 , column 40 ) (Label "fib")+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [We define ]), +                 math.equation(block: false, +                               body: text(body: [x]), +                               numbering: none), +                 text(body: [ in preparation of ]), +                 ref(supplement: auto, +                     target: <fib>), +                 text(body: [:+]), +                 math.equation(block: true, +                               body: { text(body: [ϕ]), +                                       text(body: [≔]), +                                       math.frac(denom: text(body: [2]), +                                                 num: { text(body: [1]), +                                                        text(body: [+]), +                                                        math.sqrt(radicand: text(body: [5])) }) }, +                               numbering: none), +                 text(body: [ ]), +                 <ratio>, +                 parbreak(), +                 text(body: [With ]), +                 ref(supplement: auto, +                     target: <ratio>), +                 text(body: [, we get+]), +                 math.equation(block: true, +                               body: { math.attach(b: text(body: [n]), +                                                   base: text(body: [F]), +                                                   t: none), +                                       text(body: [=]), +                                       math.round(body: { math.frac(denom: math.sqrt(radicand: text(body: [5])), +                                                                    num: text(body: [1])), +                                                          math.attach(b: none, +                                                                      base: text(body: [ϕ]), +                                                                      t: text(body: [n])) }) }, +                               numbering: none), +                 text(body: [ ]), +                 <fib>, +                 parbreak() })
+ test/typ/math/op-00.out view
@@ -0,0 +1,85 @@+--- parse tree ---+[ Code+    "typ/math/op-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/op-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/op-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "1"+              , Code+                  "typ/math/op-00.typ"+                  ( line 3 , column 9 )+                  (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))+              , Text "n"+              , Code+                  "typ/math/op-00.typ"+                  ( line 3 , column 12 )+                  (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))+              , Text "m"+              ]))+        Nothing+        (Code+           "typ/math/op-00.typ"+           ( line 3 , column 3 )+           (Ident (Identifier "max")))+    , Text "n"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: { text(body: [1]), +                                                        text(body: [≤]), +                                                        text(body: [n]), +                                                        text(body: [≤]), +                                                        text(body: [m]) }, +                                                   base: math.op(limits: true, +                                                                 text: "max"), +                                                   t: none), +                                       text(body: [n]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/op-01.out view
@@ -0,0 +1,110 @@+--- parse tree ---+[ Code+    "typ/math/op-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/op-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/op-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MAlignPoint+    , Code+        "typ/math/op-01.typ"+        ( line 3 , column 5 )+        (Ident (Identifier "sin"))+    , Text "x"+    , Text "+"+    , MAttach+        (Just (Text "2"))+        Nothing+        (Code+           "typ/math/op-01.typ"+           ( line 3 , column 13 )+           (Ident (Identifier "log")))+    , Text "x"+    , HardBreak+    , Text "="+    , MAlignPoint+    , Code+        "typ/math/op-01.typ"+        ( line 4 , column 5 )+        (FuncCall (Ident (Identifier "sin")) [ BlockArg [ Text "x" ] ])+    , Text "+"+    , MAttach+        (Just (Text "2"))+        Nothing+        (Code+           "typ/math/op-01.typ"+           ( line 4 , column 14 )+           (Ident (Identifier "log")))+    , MGroup (Just "(") (Just ")") [ Text "x" ]+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.alignpoint(), +                                       math.op(limits: false, +                                               text: "sin"), +                                       text(body: [x]), +                                       text(body: [+]), +                                       math.attach(b: text(body: [2]), +                                                   base: math.op(limits: false, +                                                                 text: "log"), +                                                   t: none), +                                       text(body: [x]), +                                       linebreak(), +                                       text(body: [=]), +                                       math.alignpoint(), +                                       math.op(limits: false, +                                               text: "sin"), +                                       text(body: [(]), +                                       text(body: [x]), +                                       text(body: [)]), +                                       text(body: [+]), +                                       math.attach(b: text(body: [2]), +                                                   base: math.op(limits: false, +                                                                 text: "log"), +                                                   t: none), +                                       math.lr(body: ({ [(], +                                                        text(body: [x]), +                                                        [)] })) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/op-02.out view
@@ -0,0 +1,153 @@+--- parse tree ---+[ Code+    "typ/math/op-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/op-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/op-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/op-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font") (Literal (String "New Computer Modern"))+       ])+, SoftBreak+, Text "Discuss"+, Space+, Equation+    False+    [ MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "n"+              , Code+                  "typ/math/op-02.typ"+                  ( line 4 , column 16 )+                  (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))+              , Code+                  "typ/math/op-02.typ"+                  ( line 4 , column 18 )+                  (Ident (Identifier "oo"))+              ]))+        Nothing+        (Code+           "typ/math/op-02.typ"+           ( line 4 , column 10 )+           (Ident (Identifier "lim")))+    , MFrac (Text "1") (Text "n")+    ]+, Space+, Text "now"+, Text "."+, SoftBreak+, Equation+    True+    [ MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "n"+              , Code+                  "typ/math/op-02.typ"+                  ( line 5 , column 9 )+                  (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))+              , Code+                  "typ/math/op-02.typ"+                  ( line 5 , column 11 )+                  (Ident (Identifier "infinity"))+              ]))+        Nothing+        (Code+           "typ/math/op-02.typ"+           ( line 5 , column 3 )+           (Ident (Identifier "lim")))+    , MFrac (Text "1") (Text "n")+    , Text "="+    , Text "0"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Discuss ], +                      font: "New Computer Modern"), +                 math.equation(block: false, +                               body: { math.attach(b: { text(body: [n], +                                                             font: "New Computer Modern"), +                                                        text(body: [→], +                                                             font: "New Computer Modern"), +                                                        text(body: [∞], +                                                             font: "New Computer Modern") }, +                                                   base: math.op(limits: true, +                                                                 text: "lim"), +                                                   t: none), +                                       math.frac(denom: text(body: [n], +                                                             font: "New Computer Modern"), +                                                 num: text(body: [1], +                                                           font: "New Computer Modern")) }, +                               numbering: none), +                 text(body: [ now.+], +                      font: "New Computer Modern"), +                 math.equation(block: true, +                               body: { math.attach(b: { text(body: [n], +                                                             font: "New Computer Modern"), +                                                        text(body: [→], +                                                             font: "New Computer Modern"), +                                                        text(body: [∞], +                                                             font: "New Computer Modern") }, +                                                   base: math.op(limits: true, +                                                                 text: "lim"), +                                                   t: none), +                                       math.frac(denom: text(body: [n], +                                                             font: "New Computer Modern"), +                                                 num: text(body: [1], +                                                           font: "New Computer Modern")), +                                       text(body: [=], +                                            font: "New Computer Modern"), +                                       text(body: [0], +                                            font: "New Computer Modern") }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/op-03.out view
@@ -0,0 +1,115 @@+--- parse tree ---+[ Code+    "typ/math/op-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/op-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/op-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "x"+              , Code+                  "typ/math/op-03.typ"+                  ( line 3 , column 32 )+                  (FieldAccess+                     (Ident (Identifier "eq")) (Ident (Identifier "colon")))+              , Text "1"+              ]))+        Nothing+        (Code+           "typ/math/op-03.typ"+           ( line 3 , column 3 )+           (FuncCall+              (Ident (Identifier "op"))+              [ BlockArg [ Text "myop" ]+              , KeyValArg (Identifier "limits") (Literal (Boolean False))+              ]))+    , Text "x"+    , HardBreak+    , MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "x"+              , Code+                  "typ/math/op-03.typ"+                  ( line 4 , column 31 )+                  (FieldAccess+                     (Ident (Identifier "eq")) (Ident (Identifier "colon")))+              , Text "1"+              ]))+        Nothing+        (Code+           "typ/math/op-03.typ"+           ( line 4 , column 3 )+           (FuncCall+              (Ident (Identifier "op"))+              [ BlockArg [ Text "myop" ]+              , KeyValArg (Identifier "limits") (Literal (Boolean True))+              ]))+    , Text "x"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: { text(body: [x]), +                                                        text(body: [≔]), +                                                        text(body: [1]) }, +                                                   base: math.op(limits: false, +                                                                 text: text(body: [myop])), +                                                   t: none), +                                       text(body: [x]), +                                       linebreak(), +                                       math.attach(b: { text(body: [x]), +                                                        text(body: [≔]), +                                                        text(body: [1]) }, +                                                   base: math.op(limits: true, +                                                                 text: text(body: [myop])), +                                                   t: none), +                                       text(body: [x]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/op-04.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/math/op-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/op-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/op-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MAttach+        (Just (Text "x"))+        Nothing+        (Code+           "typ/math/op-04.typ"+           ( line 3 , column 3 )+           (FuncCall+              (Ident (Identifier "bold"))+              [ BlockArg+                  [ Code+                      "typ/math/op-04.typ"+                      ( line 3 , column 8 )+                      (FuncCall+                         (Ident (Identifier "op"))+                         [ BlockArg [ Text "bold" ]+                         , KeyValArg (Identifier "limits") (Literal (Boolean True))+                         ])+                  ]+              ]))+    , Text "y"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: text(body: [x]), +                                                   base: math.bold(body: math.op(limits: true, +                                                                                 text: text(body: [bold]))), +                                                   t: none), +                                       text(body: [y]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/root-00.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/math/root-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/root-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/root-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "A"+    , Text "="+    , Code+        "typ/math/root-00.typ"+        ( line 3 , column 6 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg [ Text "x" , Text "+" , Text "y" ] ])+    , Text "="+    , Text "c"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [A]), +                                       text(body: [=]), +                                       math.sqrt(radicand: { text(body: [x]), +                                                             text(body: [+]), +                                                             text(body: [y]) }), +                                       text(body: [=]), +                                       text(body: [c]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/root-01.out view
@@ -0,0 +1,149 @@+--- parse tree ---+[ Code+    "typ/math/root-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/root-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/root-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/root-01.typ"+        ( line 3 , column 3 )+        (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "a" ] ])+    , Code+        "typ/math/root-01.typ"+        ( line 3 , column 11 )+        (Ident (Identifier "quad"))+    , Code+        "typ/math/root-01.typ"+        ( line 4 , column 3 )+        (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "f" ] ])+    , Code+        "typ/math/root-01.typ"+        ( line 4 , column 11 )+        (Ident (Identifier "quad"))+    , Code+        "typ/math/root-01.typ"+        ( line 5 , column 3 )+        (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "q" ] ])+    , Code+        "typ/math/root-01.typ"+        ( line 5 , column 11 )+        (Ident (Identifier "quad"))+    , Code+        "typ/math/root-01.typ"+        ( line 6 , column 3 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg [ MAttach Nothing (Just (Text "2")) (Text "a") ] ])+    , HardBreak+    , Code+        "typ/math/root-01.typ"+        ( line 7 , column 3 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg [ MAttach (Just (Text "0")) Nothing (Text "n") ] ])+    , Code+        "typ/math/root-01.typ"+        ( line 7 , column 13 )+        (Ident (Identifier "quad"))+    , Code+        "typ/math/root-01.typ"+        ( line 8 , column 3 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg+               [ MAttach Nothing (Just (MGroup Nothing Nothing [])) (Text "b") ]+           ])+    , Code+        "typ/math/root-01.typ"+        ( line 8 , column 14 )+        (Ident (Identifier "quad"))+    , Code+        "typ/math/root-01.typ"+        ( line 9 , column 3 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg [ MAttach Nothing (Just (Text "2")) (Text "b") ] ])+    , Code+        "typ/math/root-01.typ"+        ( line 9 , column 13 )+        (Ident (Identifier "quad"))+    , Code+        "typ/math/root-01.typ"+        ( line 10 , column 3 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg+               [ MAttach (Just (Text "1")) (Just (Text "2")) (Text "q") ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.sqrt(radicand: text(body: [a])), +                                       text(body: [ ]), +                                       math.sqrt(radicand: text(body: [f])), +                                       text(body: [ ]), +                                       math.sqrt(radicand: text(body: [q])), +                                       text(body: [ ]), +                                       math.sqrt(radicand: math.attach(b: none, +                                                                       base: text(body: [a]), +                                                                       t: text(body: [2]))), +                                       linebreak(), +                                       math.sqrt(radicand: math.attach(b: text(body: [0]), +                                                                       base: text(body: [n]), +                                                                       t: none)), +                                       text(body: [ ]), +                                       math.sqrt(radicand: math.attach(b: none, +                                                                       base: text(body: [b]), +                                                                       t: {  })), +                                       text(body: [ ]), +                                       math.sqrt(radicand: math.attach(b: none, +                                                                       base: text(body: [b]), +                                                                       t: text(body: [2]))), +                                       text(body: [ ]), +                                       math.sqrt(radicand: math.attach(b: text(body: [1]), +                                                                       base: text(body: [q]), +                                                                       t: text(body: [2]))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/root-02.out view
@@ -0,0 +1,123 @@+--- parse tree ---+[ Code+    "typ/math/root-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/root-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/root-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Equation+    False+    [ Code+        "typ/math/root-02.typ"+        ( line 4 , column 2 )+        (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "x" ] ])+    ]+, SoftBreak+, Equation+    False+    [ Code+        "typ/math/root-02.typ"+        ( line 5 , column 2 )+        (FuncCall+           (Ident (Identifier "root"))+           [ BlockArg [ Text "2" ] , BlockArg [ Text "x" ] ])+    ]+, SoftBreak+, Equation+    False+    [ Code+        "typ/math/root-02.typ"+        ( line 6 , column 2 )+        (FuncCall+           (Ident (Identifier "root"))+           [ BlockArg [ Text "3" ] , BlockArg [ Text "x" ] ])+    ]+, SoftBreak+, Equation+    False+    [ Code+        "typ/math/root-02.typ"+        ( line 7 , column 2 )+        (FuncCall+           (Ident (Identifier "root"))+           [ BlockArg [ Text "4" ] , BlockArg [ Text "x" ] ])+    ]+, SoftBreak+, Equation+    False+    [ Code+        "typ/math/root-02.typ"+        ( line 8 , column 2 )+        (FuncCall+           (Ident (Identifier "root"))+           [ BlockArg [ Text "5" ] , BlockArg [ Text "x" ] ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: math.sqrt(radicand: text(body: [x])), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: false, +                               body: math.root(index: text(body: [2]), +                                               radicand: text(body: [x])), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: false, +                               body: math.root(index: text(body: [3]), +                                               radicand: text(body: [x])), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: false, +                               body: math.root(index: text(body: [4]), +                                               radicand: text(body: [x])), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: false, +                               body: math.root(index: text(body: [5]), +                                               radicand: text(body: [x])), +                               numbering: none), +                 parbreak() })
+ test/typ/math/root-03.out view
@@ -0,0 +1,216 @@+--- parse tree ---+[ Code+    "typ/math/root-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/root-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/root-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/root-03.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg+               [ Code+                   "typ/math/root-03.typ"+                   ( line 3 , column 8 )+                   (FieldAccess+                      (Ident (Identifier "l"))+                      (FieldAccess+                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+               , Text "x"+               , MAttach+                   Nothing+                   (Just (Text "2"))+                   (Code+                      "typ/math/root-03.typ"+                      ( line 3 , column 11 )+                      (FieldAccess+                         (Ident (Identifier "r"))+                         (FieldAccess+                            (Ident (Identifier "double")) (Ident (Identifier "bracket")))))+               , Text "+"+               , Code+                   "typ/math/root-03.typ"+                   ( line 3 , column 18 )+                   (FieldAccess+                      (Ident (Identifier "l"))+                      (FieldAccess+                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+               , Text "y"+               , MAttach+                   Nothing+                   (Just (Text "2"))+                   (Code+                      "typ/math/root-03.typ"+                      ( line 3 , column 21 )+                      (FieldAccess+                         (Ident (Identifier "r"))+                         (FieldAccess+                            (Ident (Identifier "double")) (Ident (Identifier "bracket")))))+               ]+           ])+    , Text "<"+    , Code+        "typ/math/root-03.typ"+        ( line 3 , column 29 )+        (FieldAccess+           (Ident (Identifier "l"))+           (FieldAccess+              (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+    , Text "z"+    , Code+        "typ/math/root-03.typ"+        ( line 3 , column 32 )+        (FieldAccess+           (Ident (Identifier "r"))+           (FieldAccess+              (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+    ]+, SoftBreak+, Equation+    True+    [ Text "v"+    , Text "="+    , Code+        "typ/math/root-03.typ"+        ( line 4 , column 7 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg+               [ MFrac+                   (MGroup (Just "(") (Just ")") [ MFrac (Text "1") (Text "2") ])+                   (MGroup Nothing Nothing [ MFrac (Text "4") (Text "5") ])+               ]+           ])+    , Text "="+    , Code+        "typ/math/root-03.typ"+        ( line 5 , column 6 )+        (FuncCall+           (Ident (Identifier "root"))+           [ BlockArg [ Text "3" ]+           , BlockArg+               [ MFrac+                   (MGroup+                      (Just "(")+                      (Just ")")+                      [ MFrac (MFrac (Text "1") (Text "2")) (Text "3") ])+                   (MGroup+                      Nothing Nothing [ MFrac (MFrac (Text "4") (Text "5")) (Text "6") ])+               ]+           ])+    , Text "="+    , Code+        "typ/math/root-03.typ"+        ( line 6 , column 6 )+        (FuncCall+           (Ident (Identifier "root"))+           [ BlockArg [ Text "4" ]+           , BlockArg+               [ MFrac+                   (MGroup+                      (Just "(")+                      (Just ")")+                      [ MFrac+                          (MGroup (Just "(") (Just ")") [ MFrac (Text "1") (Text "2") ])+                          (MGroup Nothing Nothing [ MFrac (Text "3") (Text "4") ])+                      ])+                   (MGroup+                      Nothing+                      Nothing+                      [ MFrac+                          (MGroup (Just "(") (Just ")") [ MFrac (Text "1") (Text "2") ])+                          (MGroup Nothing Nothing [ MFrac (Text "3") (Text "4") ])+                      ])+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.sqrt(radicand: { text(body: [⟦]), +                                                             text(body: [x]), +                                                             math.attach(b: none, +                                                                         base: text(body: [⟧]), +                                                                         t: text(body: [2])), +                                                             text(body: [+]), +                                                             text(body: [⟦]), +                                                             text(body: [y]), +                                                             math.attach(b: none, +                                                                         base: text(body: [⟧]), +                                                                         t: text(body: [2])) }), +                                       text(body: [<]), +                                       text(body: [⟦]), +                                       text(body: [z]), +                                       text(body: [⟧]) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [v]), +                                       text(body: [=]), +                                       math.sqrt(radicand: math.frac(denom: math.frac(denom: text(body: [5]), +                                                                                      num: text(body: [4])), +                                                                     num: math.frac(denom: text(body: [2]), +                                                                                    num: text(body: [1])))), +                                       text(body: [=]), +                                       math.root(index: text(body: [3]), +                                                 radicand: math.frac(denom: math.frac(denom: text(body: [6]), +                                                                                      num: math.frac(denom: text(body: [5]), +                                                                                                     num: text(body: [4]))), +                                                                     num: math.frac(denom: text(body: [3]), +                                                                                    num: math.frac(denom: text(body: [2]), +                                                                                                   num: text(body: [1]))))), +                                       text(body: [=]), +                                       math.root(index: text(body: [4]), +                                                 radicand: math.frac(denom: math.frac(denom: math.frac(denom: text(body: [4]), +                                                                                                       num: text(body: [3])), +                                                                                      num: math.frac(denom: text(body: [2]), +                                                                                                     num: text(body: [1]))), +                                                                     num: math.frac(denom: math.frac(denom: text(body: [4]), +                                                                                                     num: text(body: [3])), +                                                                                    num: math.frac(denom: text(body: [2]), +                                                                                                   num: text(body: [1]))))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/root-04.out view
@@ -0,0 +1,114 @@+--- parse tree ---+[ Code+    "typ/math/root-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/root-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/root-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/root-04.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "root"))+           [ BlockArg [ Text "2" ] , BlockArg [ Text "x" ] ])+    , Code+        "typ/math/root-04.typ"+        ( line 3 , column 14 )+        (Ident (Identifier "quad"))+    , Code+        "typ/math/root-04.typ"+        ( line 4 , column 3 )+        (FuncCall+           (Ident (Identifier "root"))+           [ BlockArg+               [ MFrac+                   (Text "3") (MGroup Nothing Nothing [ MFrac (Text "2") (Text "1") ])+               ]+           , BlockArg [ Text "x" ]+           ])+    , Code+        "typ/math/root-04.typ"+        ( line 4 , column 20 )+        (Ident (Identifier "quad"))+    , Code+        "typ/math/root-04.typ"+        ( line 5 , column 3 )+        (FuncCall+           (Ident (Identifier "root"))+           [ BlockArg [ MFrac (Text "1") (Text "11") ]+           , BlockArg [ Text "x" ]+           ])+    , Code+        "typ/math/root-04.typ"+        ( line 5 , column 17 )+        (Ident (Identifier "quad"))+    , Code+        "typ/math/root-04.typ"+        ( line 6 , column 3 )+        (FuncCall+           (Ident (Identifier "root"))+           [ BlockArg [ MFrac (MFrac (Text "1") (Text "2")) (Text "3") ]+           , BlockArg [ Text "1" ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.root(index: text(body: [2]), +                                                 radicand: text(body: [x])), +                                       text(body: [ ]), +                                       math.root(index: math.frac(denom: math.frac(denom: text(body: [1]), +                                                                                   num: text(body: [2])), +                                                                  num: text(body: [3])), +                                                 radicand: text(body: [x])), +                                       text(body: [ ]), +                                       math.root(index: math.frac(denom: text(body: [11]), +                                                                  num: text(body: [1])), +                                                 radicand: text(body: [x])), +                                       text(body: [ ]), +                                       math.root(index: math.frac(denom: text(body: [3]), +                                                                  num: math.frac(denom: text(body: [2]), +                                                                                 num: text(body: [1]))), +                                                 radicand: text(body: [1])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/root-05.out view
@@ -0,0 +1,153 @@+--- parse tree ---+[ Code+    "typ/math/root-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/root-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/root-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/root-05.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "root"))+           [ NormalArg+               (Block (Content [ MAttach Nothing (Just (Text "3")) (Text "2") ]))+           ])+    , Text "="+    , Code+        "typ/math/root-05.typ"+        ( line 3 , column 10 )+        (FuncCall+           (Ident (Identifier "sqrt"))+           [ BlockArg [ MAttach Nothing (Just (Text "3")) (Text "2") ] ])+    ]+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/root-05.typ"+        ( line 4 , column 3 )+        (Ident (Identifier "root"))+    , MGroup (Just "(") (Just ")") [ Text "x" , Text "+" , Text "y" ]+    , Code+        "typ/math/root-05.typ"+        ( line 4 , column 10 )+        (Ident (Identifier "quad"))+    , Text "\8731"+    , Text "x"+    , Code+        "typ/math/root-05.typ"+        ( line 4 , column 18 )+        (Ident (Identifier "quad"))+    , Text "\8732"+    , Text "x"+    ]+, SoftBreak+, Equation+    True+    [ MGroup+        (Just "(")+        (Just ")")+        [ Code+            "typ/math/root-05.typ"+            ( line 5 , column 4 )+            (FuncCall+               (Ident (Identifier "root"))+               [ NormalArg (Block (Content [ Text "2" ])) ])+        , Text "+"+        , Text "3"+        ]+    , Text "="+    , MGroup+        (Just "(")+        (Just ")")+        [ Code+            "typ/math/root-05.typ"+            ( line 5 , column 13 )+            (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "2" ] ])+        , Text "+"+        , Text "3"+        ]+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.root(index: math.attach(b: none, +                                                                    base: text(body: [2]), +                                                                    t: text(body: [3]))), +                                       text(body: [=]), +                                       math.sqrt(radicand: math.attach(b: none, +                                                                       base: text(body: [2]), +                                                                       t: text(body: [3]))) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { math.lr(body: ({ [(], +                                                        text(body: [x]), +                                                        text(body: [+]), +                                                        text(body: [y]), +                                                        [)] })), +                                       text(body: [ ]), +                                       text(body: [∛]), +                                       text(body: [x]), +                                       text(body: [ ]), +                                       text(body: [∜]), +                                       text(body: [x]) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { math.lr(body: ({ [(], +                                                        math.root(index: text(body: [2])), +                                                        text(body: [+]), +                                                        text(body: [3]), +                                                        [)] })), +                                       text(body: [=]), +                                       math.lr(body: ({ [(], +                                                        math.sqrt(radicand: text(body: [2])), +                                                        text(body: [+]), +                                                        text(body: [3]), +                                                        [)] })) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/spacing-00.out view
@@ -0,0 +1,306 @@+--- parse tree ---+[ Code+    "typ/math/spacing-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/spacing-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/spacing-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "\228"+    , Text ","+    , Text "+"+    , Text ","+    , Text "c"+    , Text ","+    , MGroup (Just "(") (Just ")") [ Text "," ]+    ]+, Space+, HardBreak+, Equation+    False+    [ Text "="+    , Text ")"+    , Text ","+    , MGroup (Just "(") (Just ")") [ Text "+" ]+    , Text ","+    , MGroup+        (Just "{")+        (Just "}")+        [ Code+            "typ/math/spacing-00.typ"+            ( line 4 , column 12 )+            (Ident (Identifier "times"))+        ]+    ]+, SoftBreak+, Equation+    False+    [ Text "\10215"+    , Text "<"+    , Text "\10214"+    , Text ","+    , Text "|"+    , Code+        "typ/math/spacing-00.typ"+        ( line 5 , column 8 )+        (Ident (Identifier "minus"))+    , Text "|"+    , Text ","+    , MGroup (Just "[") Nothing [ Text "=" ]+    ]+, Space+, HardBreak+, Equation+    False+    [ Text "a"+    , Text "="+    , Text "b"+    , Text ","+    , Text "a"+    , Text "="+    , Text "="+    , Text "b"+    ]+, Space+, HardBreak+, Equation+    False+    [ Code+        "typ/math/spacing-00.typ"+        ( line 7 , column 2 )+        (Ident (Identifier "minus"))+    , Text "a"+    , Text ","+    , Text "+"+    , Text "a"+    ]+, Space+, HardBreak+, Equation+    False+    [ Text "a"+    , Code+        "typ/math/spacing-00.typ"+        ( line 8 , column 4 )+        (Ident (Identifier "not"))+    , Text "b"+    ]+, Space+, HardBreak+, Equation+    False+    [ Text "a"+    , Text "+"+    , Text "b"+    , Text ","+    , Text "a"+    , Code+        "typ/math/spacing-00.typ"+        ( line 9 , column 8 )+        (Ident (Identifier "convolve"))+    , Text "b"+    ]+, Space+, HardBreak+, Equation+    False+    [ Code+        "typ/math/spacing-00.typ"+        ( line 10 , column 2 )+        (Ident (Identifier "sum"))+    , Text "x"+    , Text ","+    , Code+        "typ/math/spacing-00.typ"+        ( line 10 , column 9 )+        (FuncCall (Ident (Identifier "sum")) [ BlockArg [ Text "x" ] ])+    ]+, Space+, HardBreak+, Equation+    False+    [ Code+        "typ/math/spacing-00.typ"+        ( line 11 , column 2 )+        (Ident (Identifier "sum"))+    , Code+        "typ/math/spacing-00.typ"+        ( line 11 , column 6 )+        (Ident (Identifier "product"))+    , Text "x"+    ]+, Space+, HardBreak+, Equation+    False+    [ MGroup+        Nothing+        Nothing+        [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]+    , Text ","+    , Code+        "typ/math/spacing-00.typ"+        ( line 12 , column 8 )+        (FuncCall (Ident (Identifier "zeta")) [ BlockArg [ Text "x" ] ])+    , Text ","+    , MGroup+        Nothing+        Nothing+        [ Text " frac" , MGroup (Just "(") (Just ")") [ Text "x" ] ]+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [ä]), +                                       text(body: [,]), +                                       text(body: [+]), +                                       text(body: [,]), +                                       text(body: [c]), +                                       text(body: [,]), +                                       math.lr(body: ({ [(], +                                                        text(body: [,]), +                                                        [)] })) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [=]), +                                       text(body: [)]), +                                       text(body: [,]), +                                       math.lr(body: ({ [(], +                                                        text(body: [+]), +                                                        [)] })), +                                       text(body: [,]), +                                       math.lr(body: ({ [{], +                                                        text(body: [×]), +                                                        [}] })) }, +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [⟧]), +                                       text(body: [<]), +                                       text(body: [⟦]), +                                       text(body: [,]), +                                       text(body: [|]), +                                       text(body: [−]), +                                       text(body: [|]), +                                       text(body: [,]), +                                       text(body: [[]), +                                       text(body: [=]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [=]), +                                       text(body: [b]), +                                       text(body: [,]), +                                       text(body: [a]), +                                       text(body: [=]), +                                       text(body: [=]), +                                       text(body: [b]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [−]), +                                       text(body: [a]), +                                       text(body: [,]), +                                       text(body: [+]), +                                       text(body: [a]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [¬]), +                                       text(body: [b]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [+]), +                                       text(body: [b]), +                                       text(body: [,]), +                                       text(body: [a]), +                                       text(body: [∗]), +                                       text(body: [b]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [∑]), +                                       text(body: [x]), +                                       text(body: [,]), +                                       text(body: [∑]), +                                       text(body: [(]), +                                       text(body: [x]), +                                       text(body: [)]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [∑]), +                                       text(body: [∏]), +                                       text(body: [x]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [f]), +                                       math.lr(body: ({ [(], +                                                        text(body: [x]), +                                                        [)] })), +                                       text(body: [,]), +                                       text(body: [ζ]), +                                       text(body: [(]), +                                       text(body: [x]), +                                       text(body: [)]), +                                       text(body: [,]), +                                       text(body: [ frac]), +                                       math.lr(body: ({ [(], +                                                        text(body: [x]), +                                                        [)] })) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/spacing-01.out view
@@ -0,0 +1,123 @@+--- parse tree ---+[ Code+    "typ/math/spacing-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/spacing-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/spacing-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "f"+    , MGroup (Just "(") (Just ")") [ Text "x" ]+    , Text ","+    , MGroup+        Nothing+        Nothing+        [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]+    ]+, Space+, HardBreak+, Equation+    False+    [ MGroup (Just "[") (Just "]") [ Text "a" , Text "|" , Text "b" ]+    , Text ","+    , MGroup+        (Just "[")+        (Just "]")+        [ Text "a"+        , MGroup Nothing Nothing [ Nbsp , Text "|" , Nbsp ]+        , Text "b"+        ]+    ]+, Space+, HardBreak+, Equation+    False+    [ Text "a"+    , Text "is"+    , Text "b"+    , Text ","+    , Text "a"+    , Text " is "+    , Text "b"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [f]), +                                       math.lr(body: ({ [(], +                                                        text(body: [x]), +                                                        [)] })), +                                       text(body: [,]), +                                       text(body: [f]), +                                       math.lr(body: ({ [(], +                                                        text(body: [x]), +                                                        [)] })) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { math.lr(body: ({ [[], +                                                        text(body: [a]), +                                                        text(body: [|]), +                                                        text(body: [b]), +                                                        []] })), +                                       text(body: [,]), +                                       math.lr(body: ({ [[], +                                                        text(body: [a]), +                                                        text(body: [ ]), +                                                        text(body: [|]), +                                                        text(body: [ ]), +                                                        text(body: [b]), +                                                        []] })) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [is]), +                                       text(body: [b]), +                                       text(body: [,]), +                                       text(body: [a]), +                                       text(body: [ is ]), +                                       text(body: [b]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/spacing-02.out view
@@ -0,0 +1,159 @@+--- parse tree ---+[ Code+    "typ/math/spacing-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/spacing-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/spacing-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "a"+    , Code+        "typ/math/spacing-02.typ"+        ( line 3 , column 4 )+        (Ident (Identifier "thin"))+    , Text "b"+    , Text ","+    , Text "a"+    , Code+        "typ/math/spacing-02.typ"+        ( line 3 , column 14 )+        (Ident (Identifier "med"))+    , Text "b"+    , Text ","+    , Text "a"+    , Code+        "typ/math/spacing-02.typ"+        ( line 3 , column 23 )+        (Ident (Identifier "thick"))+    , Text "b"+    , Text ","+    , Text "a"+    , Code+        "typ/math/spacing-02.typ"+        ( line 3 , column 34 )+        (Ident (Identifier "quad"))+    , Text "b"+    ]+, Space+, HardBreak+, Equation+    False+    [ Text "a"+    , Text "="+    , Code+        "typ/math/spacing-02.typ"+        ( line 4 , column 6 )+        (Ident (Identifier "thin"))+    , Text "b"+    ]+, Space+, HardBreak+, Equation+    False+    [ Text "a"+    , Code+        "typ/math/spacing-02.typ"+        ( line 5 , column 4 )+        (Ident (Identifier "minus"))+    , Text "b"+    , Code+        "typ/math/spacing-02.typ"+        ( line 5 , column 8 )+        (Ident (Identifier "equiv"))+    , Text "c"+    , Code+        "typ/math/spacing-02.typ"+        ( line 5 , column 16 )+        (Ident (Identifier "quad"))+    , MGroup+        (Just "(")+        (Just ")")+        [ Code+            "typ/math/spacing-02.typ"+            ( line 5 , column 22 )+            (Ident (Identifier "mod"))+        , Text "2"+        ]+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [ ]), +                                       text(body: [b]), +                                       text(body: [,]), +                                       text(body: [a]), +                                       text(body: [ ]), +                                       text(body: [b]), +                                       text(body: [,]), +                                       text(body: [a]), +                                       text(body: [ ]), +                                       text(body: [b]), +                                       text(body: [,]), +                                       text(body: [a]), +                                       text(body: [ ]), +                                       text(body: [b]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [=]), +                                       text(body: [ ]), +                                       text(body: [b]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [−]), +                                       text(body: [b]), +                                       text(body: [≡]), +                                       text(body: [c]), +                                       text(body: [ ]), +                                       math.lr(body: ({ [(], +                                                        math.op(limits: false, +                                                                text: "mod"), +                                                        text(body: [2]), +                                                        [)] })) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/spacing-03.out view
@@ -0,0 +1,99 @@+--- parse tree ---+[ Code+    "typ/math/spacing-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/spacing-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/spacing-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/spacing-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto) ])+, SoftBreak+, Equation+    True+    [ MGroup+        (Just "{")+        (Just "}")+        [ Text "x"+        , Code+            "typ/math/spacing-03.typ"+            ( line 4 , column 7 )+            (Ident (Identifier "in"))+        , Code+            "typ/math/spacing-03.typ"+            ( line 4 , column 10 )+            (Ident (Identifier "RR"))+        , MGroup Nothing Nothing [ Nbsp , Text "|" , Nbsp ]+        , Text "x"+        , Text " is natural "+        , Code+            "typ/math/spacing-03.typ"+            ( line 4 , column 30 )+            (Ident (Identifier "and"))+        , Text "x"+        , Text "<"+        , Text "10"+        ]+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.lr(body: ({ [{], +                                                      text(body: [x]), +                                                      text(body: [∈]), +                                                      text(body: [ℝ]), +                                                      text(body: [ ]), +                                                      text(body: [|]), +                                                      text(body: [ ]), +                                                      text(body: [x]), +                                                      text(body: [ is natural ]), +                                                      text(body: [∧]), +                                                      text(body: [x]), +                                                      text(body: [<]), +                                                      text(body: [10]), +                                                      [}] })), +                               numbering: none), +                 parbreak() })
+ test/typ/math/spacing-04.out view
@@ -0,0 +1,442 @@+--- parse tree ---+[ Code+    "typ/math/spacing-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/spacing-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/spacing-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/spacing-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto) ])+, SoftBreak+, Equation+    False+    [ Text "a"+    , Code+        "typ/math/spacing-04.typ"+        ( line 4 , column 4 )+        (Ident (Identifier "equiv"))+    , Text "b"+    , Text "+"+    , Text "c"+    , Code+        "typ/math/spacing-04.typ"+        ( line 4 , column 16 )+        (Ident (Identifier "minus"))+    , Text "d"+    , Code+        "typ/math/spacing-04.typ"+        ( line 4 , column 20 )+        (FieldAccess+           (Ident (Identifier "r"))+           (FieldAccess+              (Ident (Identifier "double")) (Ident (Identifier "arrow"))))+    , Text "e"+    , Code+        "typ/math/spacing-04.typ"+        ( line 4 , column 25 )+        (Ident (Identifier "log"))+    , Text "5"+    , Code+        "typ/math/spacing-04.typ"+        ( line 4 , column 31 )+        (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "ln" ] ])+    , Text "6"+    ]+, Space+, HardBreak+, Equation+    False+    [ Text "a"+    , Code+        "typ/math/spacing-04.typ"+        ( line 5 , column 4 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 5 , column 11 )+                   (Ident (Identifier "equiv"))+               ]+           ])+    , Text "b"+    , Code+        "typ/math/spacing-04.typ"+        ( line 5 , column 20 )+        (FuncCall+           (Ident (Identifier "overline")) [ BlockArg [ Text "+" ] ])+    , Text "c"+    , Code+        "typ/math/spacing-04.typ"+        ( line 5 , column 34 )+        (FuncCall+           (Ident (Identifier "arrow"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 5 , column 40 )+                   (Ident (Identifier "minus"))+               ]+           ])+    , Text "d"+    , Code+        "typ/math/spacing-04.typ"+        ( line 5 , column 45 )+        (FuncCall+           (Ident (Identifier "hat"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 5 , column 49 )+                   (FieldAccess+                      (Ident (Identifier "r"))+                      (FieldAccess+                         (Ident (Identifier "double")) (Ident (Identifier "arrow"))))+               ]+           ])+    , Text "e"+    , Code+        "typ/math/spacing-04.typ"+        ( line 5 , column 55 )+        (FuncCall+           (Ident (Identifier "cancel"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 5 , column 62 )+                   (Ident (Identifier "log"))+               ]+           ])+    , Text "5"+    , Code+        "typ/math/spacing-04.typ"+        ( line 5 , column 69 )+        (FuncCall+           (Ident (Identifier "dot"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 5 , column 73 )+                   (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "ln" ] ])+               ]+           ])+    , Text "6"+    ]+, Space+, HardBreak+, Equation+    False+    [ Text "a"+    , Code+        "typ/math/spacing-04.typ"+        ( line 6 , column 4 )+        (FuncCall+           (Ident (Identifier "overbrace"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 6 , column 14 )+                   (Ident (Identifier "equiv"))+               ]+           ])+    , Text "b"+    , Code+        "typ/math/spacing-04.typ"+        ( line 6 , column 23 )+        (FuncCall+           (Ident (Identifier "underline")) [ BlockArg [ Text "+" ] ])+    , Text "c"+    , Code+        "typ/math/spacing-04.typ"+        ( line 6 , column 38 )+        (FuncCall+           (Ident (Identifier "grave"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 6 , column 44 )+                   (Ident (Identifier "minus"))+               ]+           ])+    , Text "d"+    , Code+        "typ/math/spacing-04.typ"+        ( line 6 , column 49 )+        (FuncCall+           (Ident (Identifier "underbracket"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 6 , column 62 )+                   (FieldAccess+                      (Ident (Identifier "r"))+                      (FieldAccess+                         (Ident (Identifier "double")) (Ident (Identifier "arrow"))))+               ]+           ])+    , Text "e"+    , Code+        "typ/math/spacing-04.typ"+        ( line 6 , column 68 )+        (FuncCall+           (Ident (Identifier "circle"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 6 , column 75 )+                   (Ident (Identifier "log"))+               ]+           ])+    , Text "5"+    , Code+        "typ/math/spacing-04.typ"+        ( line 6 , column 82 )+        (FuncCall+           (Ident (Identifier "caron"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 6 , column 88 )+                   (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "ln" ] ])+               ]+           ])+    , Text "6"+    ]+, Space+, HardBreak+, HardBreak+, Equation+    False+    [ Text "a"+    , Code+        "typ/math/spacing-04.typ"+        ( line 8 , column 4 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 8 , column 11 )+                   (Ident (Identifier "equiv"))+               ]+           , KeyValArg (Identifier "tl") (Block (Content [ Text "a" ]))+           , KeyValArg (Identifier "tr") (Block (Content [ Text "b" ]))+           ])+    , Text "b"+    , Code+        "typ/math/spacing-04.typ"+        ( line 8 , column 34 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 8 , column 41 )+                   (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "+" ] ])+               ]+           , KeyValArg (Identifier "t") (Block (Content [ Text "a" ]))+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           ])+    , Text "c"+    , Code+        "typ/math/spacing-04.typ"+        ( line 8 , column 66 )+        (FuncCall+           (Ident (Identifier "tilde"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 8 , column 72 )+                   (Ident (Identifier "minus"))+               ]+           ])+    , Text "d"+    , Code+        "typ/math/spacing-04.typ"+        ( line 8 , column 77 )+        (FuncCall+           (Ident (Identifier "breve"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 8 , column 83 )+                   (FieldAccess+                      (Ident (Identifier "r"))+                      (FieldAccess+                         (Ident (Identifier "double")) (Ident (Identifier "arrow"))))+               ]+           ])+    , Text "e"+    , Code+        "typ/math/spacing-04.typ"+        ( line 8 , column 89 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 8 , column 96 )+                   (FuncCall+                      (Ident (Identifier "limits"))+                      [ BlockArg+                          [ Code+                              "typ/math/spacing-04.typ"+                              ( line 8 , column 103 )+                              (Ident (Identifier "log"))+                          ]+                      ])+               ]+           , KeyValArg (Identifier "t") (Block (Content [ Text "a" ]))+           , KeyValArg (Identifier "b") (Block (Content [ Text "b" ]))+           ])+    , Text "5"+    , Code+        "typ/math/spacing-04.typ"+        ( line 8 , column 123 )+        (FuncCall+           (Ident (Identifier "attach"))+           [ BlockArg+               [ Code+                   "typ/math/spacing-04.typ"+                   ( line 8 , column 130 )+                   (FuncCall (Ident (Identifier "op")) [ BlockArg [ Text "ln" ] ])+               ]+           , KeyValArg (Identifier "tr") (Block (Content [ Text "a" ]))+           , KeyValArg (Identifier "bl") (Block (Content [ Text "b" ]))+           ])+    , Text "6"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [≡]), +                                       text(body: [b]), +                                       text(body: [+]), +                                       text(body: [c]), +                                       text(body: [−]), +                                       text(body: [d]), +                                       text(body: [⇒]), +                                       text(body: [e]), +                                       math.op(limits: false, +                                               text: "log"), +                                       text(body: [5]), +                                       math.op(text: text(body: [ln])), +                                       text(body: [6]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       math.cancel(body: text(body: [≡])), +                                       text(body: [b]), +                                       math.overline(body: text(body: [+])), +                                       text(body: [c]), +                                       math.accent(accent: →, +                                                   base: text(body: [−])), +                                       text(body: [d]), +                                       math.accent(accent: ^, +                                                   base: text(body: [⇒])), +                                       text(body: [e]), +                                       math.cancel(body: math.op(limits: false, +                                                                 text: "log")), +                                       text(body: [5]), +                                       math.accent(accent: ⋅, +                                                   base: math.op(text: text(body: [ln]))), +                                       text(body: [6]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       math.overbrace(body: text(body: [≡])), +                                       text(body: [b]), +                                       math.underline(body: text(body: [+])), +                                       text(body: [c]), +                                       math.accent(accent: `, +                                                   base: text(body: [−])), +                                       text(body: [d]), +                                       math.underbracket(body: text(body: [⇒])), +                                       text(body: [e]), +                                       math.accent(accent: ○, +                                                   base: math.op(limits: false, +                                                                 text: "log")), +                                       text(body: [5]), +                                       math.accent(accent: ˇ, +                                                   base: math.op(text: text(body: [ln]))), +                                       text(body: [6]) }, +                               numbering: none), +                 text(body: [ ]), +                 linebreak(), +                 linebreak(), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       math.attach(base: text(body: [≡]), +                                                   tl: text(body: [a]), +                                                   tr: text(body: [b])), +                                       text(body: [b]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: text(body: [+])), +                                                   t: text(body: [a])), +                                       text(body: [c]), +                                       math.accent(accent: ∼, +                                                   base: text(body: [−])), +                                       text(body: [d]), +                                       math.accent(accent: ˘, +                                                   base: text(body: [⇒])), +                                       text(body: [e]), +                                       math.attach(b: text(body: [b]), +                                                   base: math.limits(body: math.op(limits: false, +                                                                                   text: "log")), +                                                   t: text(body: [a])), +                                       text(body: [5]), +                                       math.attach(base: math.op(text: text(body: [ln])), +                                                   bl: text(body: [b]), +                                                   tr: text(body: [a])), +                                       text(body: [6]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/style-00.out view
@@ -0,0 +1,88 @@+--- parse tree ---+[ Code+    "typ/math/style-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/style-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/style-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "a"+    , Text ","+    , Text "A"+    , Text ","+    , Code+        "typ/math/style-00.typ"+        ( line 3 , column 8 )+        (Ident (Identifier "delta"))+    , Text ","+    , Text "\1013"+    , Text ","+    , Code+        "typ/math/style-00.typ"+        ( line 3 , column 18 )+        (Ident (Identifier "diff"))+    , Text ","+    , Code+        "typ/math/style-00.typ"+        ( line 3 , column 24 )+        (Ident (Identifier "Delta"))+    , Text ","+    , Text "\1012"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [a]), +                                       text(body: [,]), +                                       text(body: [A]), +                                       text(body: [,]), +                                       text(body: [δ]), +                                       text(body: [,]), +                                       text(body: [ϵ]), +                                       text(body: [,]), +                                       text(body: [∂]), +                                       text(body: [,]), +                                       text(body: [Δ]), +                                       text(body: [,]), +                                       text(body: [ϴ]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/style-01.out view
@@ -0,0 +1,219 @@+--- parse tree ---+[ Code+    "typ/math/style-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/style-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/style-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "A"+    , Text ","+    , Code+        "typ/math/style-01.typ"+        ( line 3 , column 5 )+        (FuncCall (Ident (Identifier "italic")) [ BlockArg [ Text "A" ] ])+    , Text ","+    , Code+        "typ/math/style-01.typ"+        ( line 3 , column 16 )+        (FuncCall (Ident (Identifier "upright")) [ BlockArg [ Text "A" ] ])+    , Text ","+    , Code+        "typ/math/style-01.typ"+        ( line 3 , column 28 )+        (FuncCall (Ident (Identifier "bold")) [ BlockArg [ Text "A" ] ])+    , Text ","+    , Code+        "typ/math/style-01.typ"+        ( line 3 , column 37 )+        (FuncCall+           (Ident (Identifier "bold"))+           [ BlockArg+               [ Code+                   "typ/math/style-01.typ"+                   ( line 3 , column 42 )+                   (FuncCall (Ident (Identifier "upright")) [ BlockArg [ Text "A" ] ])+               ]+           ])+    , Text ","+    , HardBreak+    , Code+        "typ/math/style-01.typ"+        ( line 4 , column 2 )+        (FuncCall (Ident (Identifier "serif")) [ BlockArg [ Text "A" ] ])+    , Text ","+    , Code+        "typ/math/style-01.typ"+        ( line 4 , column 12 )+        (FuncCall (Ident (Identifier "sans")) [ BlockArg [ Text "A" ] ])+    , Text ","+    , Code+        "typ/math/style-01.typ"+        ( line 4 , column 21 )+        (FuncCall (Ident (Identifier "cal")) [ BlockArg [ Text "A" ] ])+    , Text ","+    , Code+        "typ/math/style-01.typ"+        ( line 4 , column 29 )+        (FuncCall (Ident (Identifier "frak")) [ BlockArg [ Text "A" ] ])+    , Text ","+    , Code+        "typ/math/style-01.typ"+        ( line 4 , column 38 )+        (FuncCall (Ident (Identifier "mono")) [ BlockArg [ Text "A" ] ])+    , Text ","+    , Code+        "typ/math/style-01.typ"+        ( line 4 , column 47 )+        (FuncCall (Ident (Identifier "bb")) [ BlockArg [ Text "A" ] ])+    , Text ","+    , HardBreak+    , Code+        "typ/math/style-01.typ"+        ( line 5 , column 2 )+        (FuncCall+           (Ident (Identifier "italic"))+           [ BlockArg+               [ Code+                   "typ/math/style-01.typ"+                   ( line 5 , column 9 )+                   (Ident (Identifier "diff"))+               ]+           ])+    , Text ","+    , Code+        "typ/math/style-01.typ"+        ( line 5 , column 16 )+        (FuncCall+           (Ident (Identifier "upright"))+           [ BlockArg+               [ Code+                   "typ/math/style-01.typ"+                   ( line 5 , column 24 )+                   (Ident (Identifier "diff"))+               ]+           ])+    , Text ","+    , HardBreak+    , Code+        "typ/math/style-01.typ"+        ( line 6 , column 2 )+        (FuncCall (Ident (Identifier "bb")) [ BlockArg [ Text "hello" ] ])+    , Text "+"+    , Code+        "typ/math/style-01.typ"+        ( line 6 , column 16 )+        (FuncCall+           (Ident (Identifier "bold"))+           [ BlockArg+               [ Code+                   "typ/math/style-01.typ"+                   ( line 6 , column 21 )+                   (FuncCall (Ident (Identifier "cal")) [ BlockArg [ Text "world" ] ])+               ]+           ])+    , Text ","+    , HardBreak+    , Code+        "typ/math/style-01.typ"+        ( line 7 , column 2 )+        (FuncCall+           (FuncCall (Ident (Identifier "mono")) [ BlockArg [ Text "SQRT" ] ])+           [ BlockArg [ Text "x" ] ])+    , Code+        "typ/math/style-01.typ"+        ( line 7 , column 18 )+        (Ident (Identifier "wreath"))+    , Code+        "typ/math/style-01.typ"+        ( line 7 , column 25 )+        (FuncCall+           (Ident (Identifier "mono"))+           [ BlockArg [ Text "123" , Text "+" , Text "456" ] ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [A]), +                                       text(body: [,]), +                                       math.italic(body: text(body: [A])), +                                       text(body: [,]), +                                       math.upright(body: text(body: [A])), +                                       text(body: [,]), +                                       math.bold(body: text(body: [A])), +                                       text(body: [,]), +                                       math.bold(body: math.upright(body: text(body: [A]))), +                                       text(body: [,]), +                                       linebreak(), +                                       math.serif(body: text(body: [A])), +                                       text(body: [,]), +                                       math.sans(body: text(body: [A])), +                                       text(body: [,]), +                                       math.cal(body: text(body: [A])), +                                       text(body: [,]), +                                       math.frak(body: text(body: [A])), +                                       text(body: [,]), +                                       math.mono(body: text(body: [A])), +                                       text(body: [,]), +                                       math.bb(body: text(body: [A])), +                                       text(body: [,]), +                                       linebreak(), +                                       math.italic(body: text(body: [∂])), +                                       text(body: [,]), +                                       math.upright(body: text(body: [∂])), +                                       text(body: [,]), +                                       linebreak(), +                                       math.bb(body: text(body: [hello])), +                                       text(body: [+]), +                                       math.bold(body: math.cal(body: text(body: [world]))), +                                       text(body: [,]), +                                       linebreak(), +                                       math.mono(body: text(body: [SQRT])), +                                       text(body: [(]), +                                       text(body: [x]), +                                       text(body: [)]), +                                       text(body: [≀]), +                                       math.mono(body: { text(body: [123]), +                                                         text(body: [+]), +                                                         text(body: [456]) }) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/style-02.out view
@@ -0,0 +1,129 @@+--- parse tree ---+[ Code+    "typ/math/style-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/style-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/style-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Text "h"+    , Text ","+    , Code+        "typ/math/style-02.typ"+        ( line 3 , column 5 )+        (FuncCall (Ident (Identifier "bb")) [ BlockArg [ Text "N" ] ])+    , Text ","+    , Code+        "typ/math/style-02.typ"+        ( line 3 , column 12 )+        (FuncCall (Ident (Identifier "cal")) [ BlockArg [ Text "R" ] ])+    , Text ","+    , Code+        "typ/math/style-02.typ"+        ( line 3 , column 20 )+        (Ident (Identifier "Theta"))+    , Text ","+    , Code+        "typ/math/style-02.typ"+        ( line 3 , column 27 )+        (FuncCall+           (Ident (Identifier "italic"))+           [ BlockArg+               [ Code+                   "typ/math/style-02.typ"+                   ( line 3 , column 34 )+                   (Ident (Identifier "Theta"))+               ]+           ])+    , Text ","+    , Code+        "typ/math/style-02.typ"+        ( line 3 , column 42 )+        (FuncCall+           (Ident (Identifier "sans"))+           [ BlockArg+               [ Code+                   "typ/math/style-02.typ"+                   ( line 3 , column 47 )+                   (Ident (Identifier "Theta"))+               ]+           ])+    , Text ","+    , Code+        "typ/math/style-02.typ"+        ( line 3 , column 55 )+        (FuncCall+           (Ident (Identifier "sans"))+           [ BlockArg+               [ Code+                   "typ/math/style-02.typ"+                   ( line 3 , column 60 )+                   (FuncCall+                      (Ident (Identifier "italic"))+                      [ BlockArg+                          [ Code+                              "typ/math/style-02.typ"+                              ( line 3 , column 67 )+                              (Ident (Identifier "Theta"))+                          ]+                      ])+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: [h]), +                                       text(body: [,]), +                                       math.bb(body: text(body: [N])), +                                       text(body: [,]), +                                       math.cal(body: text(body: [R])), +                                       text(body: [,]), +                                       text(body: [Θ]), +                                       text(body: [,]), +                                       math.italic(body: text(body: [Θ])), +                                       text(body: [,]), +                                       math.sans(body: text(body: [Θ])), +                                       text(body: [,]), +                                       math.sans(body: math.italic(body: text(body: [Θ]))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/style-03.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/math/style-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/style-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/style-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "\12424"+    , Code+        "typ/math/style-03.typ"+        ( line 3 , column 5 )+        (Ident (Identifier "and"))+    , Text "\127987"+    , Text "\65039"+    , Text "\8205"+    , Text "\127752"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [よ]), +                                       text(body: [∧]), +                                       text(body: [🏳]), +                                       text(body: [️]), +                                       text(body: [‍]), +                                       text(body: [🌈]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/style-04.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/math/style-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/style-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/style-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    False+    [ Code+        "typ/math/style-04.typ"+        ( line 3 , column 2 )+        (FuncCall+           (Ident (Identifier "text"))+           [ NormalArg (Ident (Identifier "red"))+           , BlockArg [ MAttach Nothing (Just (Text "2")) (Text " time") ]+           ])+    , Text "+"+    , Code+        "typ/math/style-04.typ"+        ( line 3 , column 25 )+        (FuncCall+           (Ident (Identifier "sqrt")) [ BlockArg [ Text "place" ] ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: { text(body: math.attach(b: none, +                                                              base: text(body: [ time]), +                                                              t: text(body: [2])), +                                            color: rgb(100%,25%,21%,100%)), +                                       text(body: [+]), +                                       math.sqrt(radicand: text(body: [place])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/style-05.out view
@@ -0,0 +1,114 @@+--- parse tree ---+[ Code+    "typ/math/style-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/style-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/style-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/style-05.typ"+    ( line 3 , column 2 )+    (Show+       (Just+          (FieldAccess+             (Ident (Identifier "equation")) (Ident (Identifier "math"))))+       (Set+          (Ident (Identifier "text"))+          [ KeyValArg (Identifier "font") (Literal (String "Fira Math")) ]))+, SoftBreak+, Equation+    True+    [ Text "v"+    , Code+        "typ/math/style-05.typ"+        ( line 4 , column 5 )+        (FieldAccess+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))+    , Code+        "typ/math/style-05.typ"+        ( line 4 , column 8 )+        (FuncCall+           (Ident (Identifier "vec"))+           [ BlockArg [ Text "1" , Text "+" , Text "2" ]+           , BlockArg+               [ Text "2"+               , Code+                   "typ/math/style-05.typ"+                   ( line 4 , column 21 )+                   (Ident (Identifier "minus"))+               , Text "4"+               ]+           , BlockArg+               [ Code+                   "typ/math/style-05.typ"+                   ( line 4 , column 26 )+                   (FuncCall (Ident (Identifier "sqrt")) [ BlockArg [ Text "3" ] ])+               ]+           , BlockArg+               [ Code+                   "typ/math/style-05.typ"+                   ( line 4 , column 35 )+                   (FuncCall (Ident (Identifier "arrow")) [ BlockArg [ Text "x" ] ])+               ]+           ])+    , Text "+"+    , Text "1"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [v]), +                                       text(body: [≔]), +                                       math.vec(children: ({ text(body: [1]), +                                                             text(body: [+]), +                                                             text(body: [2]) }, +                                                           { text(body: [2]), +                                                             text(body: [−]), +                                                             text(body: [4]) }, +                                                           math.sqrt(radicand: text(body: [3])), +                                                           math.accent(accent: →, +                                                                       base: text(body: [x])))), +                                       text(body: [+]), +                                       text(body: [1]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/style-06.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/math/style-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/style-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/style-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/style-06.typ"+    ( line 3 , column 2 )+    (Show+       (Just+          (FieldAccess+             (Ident (Identifier "tack")) (Ident (Identifier "sym"))))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (Content+                [ Equation+                    False+                    [ Code+                        "typ/math/style-06.typ"+                        ( line 3 , column 25 )+                        (FuncCall+                           (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Em)) ])+                    , Code+                        "typ/math/style-06.typ"+                        ( line 3 , column 32 )+                        (Ident (Identifier "it"))+                    , Code+                        "typ/math/style-06.typ"+                        ( line 3 , column 36 )+                        (FuncCall+                           (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Em)) ])+                    ]+                ]))))+, SoftBreak+, Equation+    True+    [ Text "a"+    , Code+        "typ/math/style-06.typ"+        ( line 4 , column 5 )+        (Ident (Identifier "tack"))+    , Text "b"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [a]), +                                       math.equation(block: false, +                                                     body: { h(amount: 1.0em), +                                                             text(body: [⊢]), +                                                             h(amount: 1.0em) }, +                                                     numbering: none), +                                       text(body: [b]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/syntax-00.out view
@@ -0,0 +1,92 @@+--- parse tree ---+[ Code+    "typ/math/syntax-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/syntax-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/syntax-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ MAttach+        (Just (MGroup Nothing Nothing [ Text "i" , Text "=" , Text "0" ]))+        (Just (Text "\8469"))+        (Text "\8721")+    , Text "a"+    , Text "\8728"+    , Text "b"+    , Text "="+    , MAttach+        (Just (MGroup Nothing Nothing [ Text "i" , Text "=" , Text "0" ]))+        (Just+           (Code+              "typ/math/syntax-00.typ"+              ( line 3 , column 36 )+              (Ident (Identifier "NN"))))+        (Text "\8721")+    , Text "a"+    , Code+        "typ/math/syntax-00.typ"+        ( line 3 , column 41 )+        (Ident (Identifier "compose"))+    , Text "b"+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: { text(body: [i]), +                                                        text(body: [=]), +                                                        text(body: [0]) }, +                                                   base: text(body: [∑]), +                                                   t: text(body: [ℕ])), +                                       text(body: [a]), +                                       text(body: [∘]), +                                       text(body: [b]), +                                       text(body: [=]), +                                       math.attach(b: { text(body: [i]), +                                                        text(body: [=]), +                                                        text(body: [0]) }, +                                                   base: text(body: [∑]), +                                                   t: text(body: [ℕ])), +                                       text(body: [a]), +                                       text(body: [∘]), +                                       text(body: [b]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/syntax-01.out view
@@ -0,0 +1,184 @@+--- parse tree ---+[ Code+    "typ/math/syntax-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/syntax-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/syntax-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/syntax-01.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "underline"))+           [ BlockArg+               [ Text "f"+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 3 , column 14 )+                   (Ident (Identifier "prime"))+               , Text ":"+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 3 , column 18 )+                   (Ident (Identifier "NN"))+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 3 , column 21 )+                   (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 3 , column 24 )+                   (Ident (Identifier "RR"))+               ]+           ])+    , HardBreak+    , Text "n"+    , Code+        "typ/math/syntax-01.typ"+        ( line 4 , column 5 )+        (FieldAccess+           (Ident (Identifier "r"))+           (FieldAccess+              (Ident (Identifier "bar")) (Ident (Identifier "arrow"))))+    , Code+        "typ/math/syntax-01.typ"+        ( line 4 , column 9 )+        (FuncCall+           (Ident (Identifier "cases"))+           [ BlockArg+               [ Code+                   "typ/math/syntax-01.typ"+                   ( line 5 , column 5 )+                   (FieldAccess+                      (Ident (Identifier "l"))+                      (FieldAccess+                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+               , Text "1"+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 5 , column 8 )+                   (FieldAccess+                      (Ident (Identifier "r"))+                      (FieldAccess+                         (Ident (Identifier "double")) (Ident (Identifier "bracket"))))+               , MAlignPoint+               , Text "if "+               , Text "n"+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 5 , column 19 )+                   (FieldAccess+                      (Ident (Identifier "triple")) (Ident (Identifier "gt")))+               , Text "10"+               ]+           , BlockArg+               [ Text "2"+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 6 , column 7 )+                   (Ident (Identifier "convolve"))+               , Text "3"+               , MAlignPoint+               , Text "if "+               , Text "n"+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 6 , column 19 )+                   (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))+               , Text "5"+               ]+           , BlockArg+               [ Text "1"+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 7 , column 7 )+                   (Ident (Identifier "minus"))+               , Text "0"+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 7 , column 11 )+                   (Ident (Identifier "thick"))+               , MAlignPoint+               , Code+                   "typ/math/syntax-01.typ"+                   ( line 7 , column 18 )+                   (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.underline(body: { text(body: [f]), +                                                              text(body: [′]), +                                                              text(body: [:]), +                                                              text(body: [ℕ]), +                                                              text(body: [→]), +                                                              text(body: [ℝ]) }), +                                       linebreak(), +                                       text(body: [n]), +                                       text(body: [↦]), +                                       math.cases(children: ({ text(body: [⟦]), +                                                               text(body: [1]), +                                                               text(body: [⟧]), +                                                               math.alignpoint(), +                                                               text(body: [if ]), +                                                               text(body: [n]), +                                                               text(body: [⋙]), +                                                               text(body: [10]) }, +                                                             { text(body: [2]), +                                                               text(body: [∗]), +                                                               text(body: [3]), +                                                               math.alignpoint(), +                                                               text(body: [if ]), +                                                               text(body: [n]), +                                                               text(body: [≠]), +                                                               text(body: [5]) }, +                                                             { text(body: [1]), +                                                               text(body: [−]), +                                                               text(body: [0]), +                                                               text(body: [ ]), +                                                               math.alignpoint(), +                                                               text(body: […]) })) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/syntax-02.out view
@@ -0,0 +1,86 @@+--- parse tree ---+[ Code+    "typ/math/syntax-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/syntax-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/syntax-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/syntax-02.typ"+        ( line 3 , column 3 )+        (Ident (Identifier "dot"))+    , HardBreak+    , Code+        "typ/math/syntax-02.typ"+        ( line 3 , column 9 )+        (Ident (Identifier "dots"))+    , HardBreak+    , Code+        "typ/math/syntax-02.typ"+        ( line 3 , column 16 )+        (Ident (Identifier "ast"))+    , HardBreak+    , Code+        "typ/math/syntax-02.typ"+        ( line 3 , column 22 )+        (Ident (Identifier "tilde"))+    , HardBreak+    , Code+        "typ/math/syntax-02.typ"+        ( line 3 , column 30 )+        (Ident (Identifier "star"))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [⋅]), +                                       linebreak(), +                                       text(body: […]), +                                       linebreak(), +                                       text(body: [∗]), +                                       linebreak(), +                                       text(body: [∼]), +                                       linebreak(), +                                       text(body: [⋆]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/syntax-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/math/unbalanced-00.out view
@@ -0,0 +1,128 @@+--- parse tree ---+[ Code+    "typ/math/unbalanced-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/unbalanced-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/unbalanced-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    True+    [ MFrac+        (Text "1")+        (MGroup+           (Just "(")+           Nothing+           [ Text "2" , MGroup (Just "(") (Just ")") [ Text "x" ] ])+    ]+, SoftBreak+, Equation+    True+    [ MAttach+        (Just+           (MGroup+              (Just "(")+              Nothing+              [ Text "2"+              , Text "y"+              , MGroup (Just "(") (Just ")") [ Text "x" ]+              , MGroup (Just "(") (Just ")") []+              ]))+        Nothing+        (Text "1")+    ]+, SoftBreak+, Equation+    True+    [ MFrac+        (Text "1")+        (MGroup+           (Just "(")+           Nothing+           [ Text "2"+           , Text "y"+           , MGroup (Just "(") (Just ")") [ Text "x" ]+           , MGroup+               (Just "(")+               (Just ")")+               [ Text "2" , MGroup (Just "(") (Just ")") [ Text "3" ] ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.frac(denom: { text(body: [(]), +                                                        text(body: [2]), +                                                        math.lr(body: ({ [(], +                                                                         text(body: [x]), +                                                                         [)] })) }, +                                               num: text(body: [1])), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.attach(b: { text(body: [(]), +                                                      text(body: [2]), +                                                      text(body: [y]), +                                                      math.lr(body: ({ [(], +                                                                       text(body: [x]), +                                                                       [)] })), +                                                      math.lr(body: ({ [(], +                                                                       [)] })) }, +                                                 base: text(body: [1]), +                                                 t: none), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.frac(denom: { text(body: [(]), +                                                        text(body: [2]), +                                                        text(body: [y]), +                                                        math.lr(body: ({ [(], +                                                                         text(body: [x]), +                                                                         [)] })), +                                                        math.lr(body: ({ [(], +                                                                         text(body: [2]), +                                                                         math.lr(body: ({ [(], +                                                                                          text(body: [3]), +                                                                                          [)] })), +                                                                         [)] })) }, +                                               num: text(body: [1])), +                               numbering: none), +                 parbreak() })
+ test/typ/math/underover-00.out view
@@ -0,0 +1,96 @@+--- parse tree ---+[ Code+    "typ/math/underover-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/underover-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/underover-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "x"+    , Text "="+    , Code+        "typ/math/underover-00.typ"+        ( line 3 , column 7 )+        (FuncCall+           (Ident (Identifier "underbrace"))+           [ BlockArg+               [ Text "1"+               , Text "+"+               , Text "2"+               , Text "+"+               , Code+                   "typ/math/underover-00.typ"+                   ( line 4 , column 11 )+                   (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))+               , Text "+"+               , Text "5"+               ]+           , BlockArg+               [ Code+                   "typ/math/underover-00.typ"+                   ( line 5 , column 3 )+                   (FuncCall+                      (Ident (Identifier "underbrace"))+                      [ BlockArg [ Text "numbers" ]+                      , BlockArg [ Text "x" , Text "+" , Text "y" ]+                      ])+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [x]), +                                       text(body: [=]), +                                       math.underbrace(annotation: math.underbrace(annotation: { text(body: [x]), +                                                                                                 text(body: [+]), +                                                                                                 text(body: [y]) }, +                                                                                   body: text(body: [numbers])), +                                                       body: { text(body: [1]), +                                                               text(body: [+]), +                                                               text(body: [2]), +                                                               text(body: [+]), +                                                               text(body: […]), +                                                               text(body: [+]), +                                                               text(body: [5]) }) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/underover-01.out view
@@ -0,0 +1,101 @@+--- parse tree ---+[ Code+    "typ/math/underover-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/underover-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/underover-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "x"+    , Text "="+    , Code+        "typ/math/underover-01.typ"+        ( line 3 , column 7 )+        (FuncCall+           (Ident (Identifier "overbracket"))+           [ BlockArg+               [ Code+                   "typ/math/underover-01.typ"+                   ( line 4 , column 3 )+                   (FuncCall+                      (Ident (Identifier "overline"))+                      [ BlockArg+                          [ Code+                              "typ/math/underover-01.typ"+                              ( line 4 , column 12 )+                              (FuncCall+                                 (Ident (Identifier "underline"))+                                 [ BlockArg [ Text "x" , Text "+" , Text "y" ] ])+                          ]+                      ])+               ]+           , BlockArg+               [ Text "1"+               , Text "+"+               , Text "2"+               , Text "+"+               , Code+                   "typ/math/underover-01.typ"+                   ( line 5 , column 11 )+                   (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))+               , Text "+"+               , Text "5"+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [x]), +                                       text(body: [=]), +                                       math.overbracket(annotation: { text(body: [1]), +                                                                      text(body: [+]), +                                                                      text(body: [2]), +                                                                      text(body: [+]), +                                                                      text(body: […]), +                                                                      text(body: [+]), +                                                                      text(body: [5]) }, +                                                        body: math.overline(body: math.underline(body: { text(body: [x]), +                                                                                                         text(body: [+]), +                                                                                                         text(body: [y]) }))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/underover-02.out view
@@ -0,0 +1,105 @@+--- parse tree ---+[ Code+    "typ/math/underover-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/underover-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/underover-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Code+        "typ/math/underover-02.typ"+        ( line 3 , column 3 )+        (FuncCall+           (Ident (Identifier "underbracket"))+           [ BlockArg+               [ MGroup+                   (Just "[")+                   (Just "]")+                   [ Text "1" , Text "," , MFrac (Text "2") (Text "3") ]+               ]+           , BlockArg [ Text " relevant stuff" ]+           ])+    , Code+        "typ/math/underover-02.typ"+        ( line 4 , column 11 )+        (FieldAccess+           (Ident (Identifier "long"))+           (FieldAccess+              (Ident (Identifier "double"))+              (FieldAccess+                 (Ident (Identifier "r"))+                 (FieldAccess+                    (Ident (Identifier "l")) (Ident (Identifier "arrow"))))))+    , Code+        "typ/math/underover-02.typ"+        ( line 5 , column 3 )+        (FuncCall+           (Ident (Identifier "overbracket"))+           [ BlockArg+               [ MGroup+                   (Just "[")+                   (Just "]")+                   [ MFrac (Text "4") (Text "5") , Text "," , Text "6" ]+               ]+           , BlockArg [ Text " irrelevant stuff" ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.underbracket(annotation: text(body: [ relevant stuff]), +                                                         body: math.lr(body: ({ [[], +                                                                                text(body: [1]), +                                                                                text(body: [,]), +                                                                                math.frac(denom: text(body: [3]), +                                                                                          num: text(body: [2])), +                                                                                []] }))), +                                       text(body: [⟺]), +                                       math.overbracket(annotation: text(body: [ irrelevant stuff]), +                                                        body: math.lr(body: ({ [[], +                                                                               math.frac(denom: text(body: [5]), +                                                                                         num: text(body: [4])), +                                                                               text(body: [,]), +                                                                               text(body: [6]), +                                                                               []] }))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/vec-00.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/math/vec-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/vec-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/vec-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Equation+    True+    [ Text "v"+    , Text "="+    , Code+        "typ/math/vec-00.typ"+        ( line 3 , column 7 )+        (FuncCall+           (Ident (Identifier "vec"))+           [ BlockArg [ Text "1" ]+           , BlockArg [ Text "2" , Text "+" , Text "3" ]+           , BlockArg [ Text "4" ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [v]), +                                       text(body: [=]), +                                       math.vec(children: (text(body: [1]), +                                                           { text(body: [2]), +                                                             text(body: [+]), +                                                             text(body: [3]) }, +                                                           text(body: [4]))) }, +                               numbering: none), +                 parbreak() })
+ test/typ/math/vec-01.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/math/vec-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/math/vec-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/math/vec-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/math/vec-01.typ"+    ( line 3 , column 2 )+    (Set+       (FieldAccess+          (Ident (Identifier "vec")) (Ident (Identifier "math")))+       [ KeyValArg (Identifier "delim") (Literal (String "[")) ])+, SoftBreak+, Equation+    True+    [ Code+        "typ/math/vec-01.typ"+        ( line 4 , column 3 )+        (FuncCall+           (Ident (Identifier "vec"))+           [ BlockArg [ Text "1" ] , BlockArg [ Text "2" ] ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 math.equation(block: true, +                               body: math.vec(children: (text(body: [1]), +                                                         text(body: [2])), +                                              delim: "["), +                               numbering: none), +                 parbreak() })
+ test/typ/math/vec-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/bibliography-00.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/bibliography-01.out view
@@ -0,0 +1,105 @@+--- parse tree ---+[ Code+    "typ/meta/bibliography-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/bibliography-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/bibliography-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/bibliography-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt)) ])+, SoftBreak+, Heading 1 [ Text "Details" ]+, Text "See"+, Space+, Text "also"+, Space+, Code+    "typ/meta/bibliography-01.typ"+    ( line 4 , column 11 )+    (FuncCall+       (Ident (Identifier "cite"))+       [ NormalArg (Label "distress")+       , KeyValArg+           (Identifier "supplement")+           (Block (Content [ Text "p" , Text "." , Space , Text "22" ]))+       ])+, Text ","+, Space+, Ref+    "arrgh"+    (Block (Content [ Text "p" , Text "." , Space , Text "4" ]))+, Text ","+, Space+, Text "and"+, Space+, Ref+    "distress"+    (Block (Content [ Text "p" , Text "." , Space , Text "5" ]))+, Text "."+, SoftBreak+, Code+    "typ/meta/bibliography-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "bibliography"))+       [ NormalArg (Literal (String "/works.bib")) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 heading(body: text(body: [Details]), +                         level: 1), +                 text(body: [See also ]), +                 cite(key: <distress>, +                      supplement: text(body: [p. 22])), +                 text(body: [, ]), +                 ref(supplement: text(body: [p. 4]), +                     target: <arrgh>), +                 text(body: [, and ]), +                 ref(supplement: text(body: [p. 5]), +                     target: <distress>), +                 text(body: [.+]), +                 bibliography(path: "/works.bib"), +                 parbreak() })
+ test/typ/meta/bibliography-02.out view
@@ -0,0 +1,166 @@+--- parse tree ---+[ Code+    "typ/meta/bibliography-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/bibliography-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/bibliography-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/bibliography-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt)) ])+, SoftBreak+, Code+    "typ/meta/bibliography-02.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "bibliography"))+       [ NormalArg (Literal (String "/works.bib"))+       , KeyValArg+           (Identifier "title")+           (Block+              (Content+                 [ Text "Works"+                 , Space+                 , Text "to"+                 , Space+                 , Text "be"+                 , Space+                 , Text "cited"+                 ]))+       , KeyValArg+           (Identifier "style") (Literal (String "chicago-author-date"))+       ])+, SoftBreak+, Code+    "typ/meta/bibliography-02.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 100.0 Percent))+       ])+, SoftBreak+, Code+    "typ/meta/bibliography-02.typ"+    ( line 6 , column 2 )+    (Block+       (Content+          [ Code+              "typ/meta/bibliography-02.typ"+              ( line 6 , column 4 )+              (Set+                 (Ident (Identifier "cite"))+                 [ KeyValArg (Identifier "brackets") (Literal (Boolean False)) ])+          , SoftBreak+          , Text "As"+          , Space+          , Text "described"+          , Space+          , Text "by"+          , Space+          , Ref "netwok" (Literal Auto)+          ]))+, Text ","+, SoftBreak+, Text "the"+, Space+, Text "net"+, Text "-"+, Text "work"+, Space+, Text "is"+, Space+, Text "a"+, Space+, Text "creature"+, Space+, Text "of"+, Space+, Text "its"+, Space+, Text "own"+, Text "."+, SoftBreak+, Text "This"+, Space+, Text "is"+, Space+, Text "close"+, Space+, Text "to"+, Space+, Text "piratery!"+, Space+, Ref "arrgh" (Literal Auto)+, SoftBreak+, Text "And"+, Space+, Text "quark!"+, Space+, Ref "quark" (Literal Auto)+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 bibliography(path: "/works.bib", +                              style: "chicago-author-date", +                              title: text(body: [Works to be cited])), +                 text(body: [+]), +                 line(length: 100%), +                 text(body: [+]), +                 text(body: [+As described by ]), +                 ref(supplement: auto, +                     target: <netwok>), +                 text(body: [,+the net-work is a creature of its own.+This is close to piratery! ]), +                 ref(supplement: auto, +                     target: <arrgh>), +                 text(body: [+And quark! ]), +                 ref(supplement: auto, +                     target: <quark>), +                 parbreak() })
+ test/typ/meta/bibliography-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/bibliography-04.out view
@@ -0,0 +1,120 @@+--- parse tree ---+[ Code+    "typ/meta/bibliography-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/bibliography-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/bibliography-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/bibliography-04.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt)) ])+, SoftBreak+, Code+    "typ/meta/bibliography-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "numbering") (Literal (String "1.")) ])+, SoftBreak+, Code+    "typ/meta/bibliography-04.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Ident (Identifier "bibliography")))+       (Set+          (Ident (Identifier "heading"))+          [ KeyValArg (Identifier "numbering") (Literal (String "1.")) ]))+, ParBreak+, Heading 1 [ Text "Multiple" , Space , Text "Bibs" ]+, Text "Now"+, Space+, Text "we"+, Space+, Text "have"+, Space+, Text "multiple"+, Space+, Text "bibliographies"+, Space+, Text "containing"+, Space+, Code+    "typ/meta/bibliography-04.typ"+    ( line 7 , column 49 )+    (FuncCall+       (Ident (Identifier "cite")) [ NormalArg (Label "glacier-melt") ])+, Code+    "typ/meta/bibliography-04.typ"+    ( line 7 , column 70 )+    (FuncCall+       (Ident (Identifier "cite")) [ NormalArg (Label "keshav2007read") ])+, SoftBreak+, Code+    "typ/meta/bibliography-04.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "bibliography"))+       [ NormalArg+           (Array+              [ Reg (Literal (String "/works.bib"))+              , Reg (Literal (String "/works_too.bib"))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [Multiple Bibs]), +                         level: 1, +                         numbering: "1."), +                 text(body: [Now we have multiple bibliographies containing ]), +                 cite(key: <glacier-melt>), +                 cite(key: <keshav2007read>), +                 text(body: [+]), +                 bibliography(path: ("/works.bib", +                                     "/works_too.bib")), +                 parbreak() })
+ test/typ/meta/bibliography-ordering-00.out view
@@ -0,0 +1,134 @@+--- parse tree ---+[ Code+    "typ/meta/bibliography-ordering-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/bibliography-ordering-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/bibliography-ordering-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/bibliography-ordering-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 300.0 Pt)) ])+, ParBreak+, Ref "mcintosh_anxiety" (Literal Auto)+, Text ","+, Space+, Ref "psychology25" (Literal Auto)+, SoftBreak+, Ref "netwok" (Literal Auto)+, Text ","+, Space+, Ref "issue201" (Literal Auto)+, Text ","+, Space+, Ref "arrgh" (Literal Auto)+, Text ","+, Space+, Ref "quark" (Literal Auto)+, Text ","+, Space+, Ref "distress" (Literal Auto)+, Text ","+, SoftBreak+, Ref "glacier-melt" (Literal Auto)+, Text ","+, Space+, Ref "issue201" (Literal Auto)+, Text ","+, Space+, Ref "tolkien54" (Literal Auto)+, Text ","+, Space+, Ref "sharing" (Literal Auto)+, Text ","+, Space+, Ref "restful" (Literal Auto)+, ParBreak+, Code+    "typ/meta/bibliography-ordering-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "bibliography"))+       [ NormalArg (Literal (String "/works.bib")) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 ref(supplement: auto, +                     target: <mcintosh_anxiety>), +                 text(body: [, ]), +                 ref(supplement: auto, +                     target: <psychology25>), +                 text(body: [+]), +                 ref(supplement: auto, +                     target: <netwok>), +                 text(body: [, ]), +                 ref(supplement: auto, +                     target: <issue201>), +                 text(body: [, ]), +                 ref(supplement: auto, +                     target: <arrgh>), +                 text(body: [, ]), +                 ref(supplement: auto, +                     target: <quark>), +                 text(body: [, ]), +                 ref(supplement: auto, +                     target: <distress>), +                 text(body: [,+]), +                 ref(supplement: auto, +                     target: <glacier-melt>), +                 text(body: [, ]), +                 ref(supplement: auto, +                     target: <issue201>), +                 text(body: [, ]), +                 ref(supplement: auto, +                     target: <tolkien54>), +                 text(body: [, ]), +                 ref(supplement: auto, +                     target: <sharing>), +                 text(body: [, ]), +                 ref(supplement: auto, +                     target: <restful>), +                 parbreak(), +                 bibliography(path: "/works.bib"), +                 parbreak() })
+ test/typ/meta/cite-footnote-00.out view
@@ -0,0 +1,83 @@+--- parse tree ---+[ Code+    "typ/meta/cite-footnote-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/cite-footnote-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/cite-footnote-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Text "Hello"+, Space+, Ref "netwok" (Literal Auto)+, SoftBreak+, Text "And"+, Space+, Text "again"+, Text ":"+, Space+, Ref "netwok" (Literal Auto)+, ParBreak+, Code+    "typ/meta/cite-footnote-00.typ"+    ( line 5 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, SoftBreak+, Code+    "typ/meta/cite-footnote-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "bibliography"))+       [ NormalArg (Literal (String "/works.bib"))+       , KeyValArg (Identifier "style") (Literal (String "chicago-notes"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+Hello ]), +                 ref(supplement: auto, +                     target: <netwok>), +                 text(body: [+And again: ]), +                 ref(supplement: auto, +                     target: <netwok>), +                 parbreak(), +                 pagebreak(), +                 text(body: [+]), +                 bibliography(path: "/works.bib", +                              style: "chicago-notes"), +                 parbreak() })
+ test/typ/meta/counter-00.out view
@@ -0,0 +1,188 @@+--- parse tree ---+[ Code+    "typ/meta/counter-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/counter-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/counter-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/counter-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "mine")))+       (FuncCall+          (Ident (Identifier "counter"))+          [ NormalArg (Literal (String "mine!")) ]))+, ParBreak+, Text "Final"+, Text ":"+, Space+, Code+    "typ/meta/counter-00.typ"+    ( line 5 , column 9 )+    (FuncCall+       (Ident (Identifier "locate"))+       [ NormalArg+           (FuncExpr+              [ NormalParam (Identifier "loc") ]+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "at"))+                    (FuncCall+                       (FieldAccess+                          (Ident (Identifier "final")) (Ident (Identifier "mine")))+                       [ NormalArg (Ident (Identifier "loc")) ]))+                 [ NormalArg (Literal (Int 0)) ]))+       ])+, Space+, HardBreak+, Code+    "typ/meta/counter-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "step")) (Ident (Identifier "mine")))+       [])+, SoftBreak+, Text "First"+, Text ":"+, Space+, Code+    "typ/meta/counter-00.typ"+    ( line 7 , column 9 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "display")) (Ident (Identifier "mine")))+       [])+, Space+, HardBreak+, Code+    "typ/meta/counter-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "update")) (Ident (Identifier "mine")))+       [ NormalArg (Literal (Int 7)) ])+, SoftBreak+, Code+    "typ/meta/counter-00.typ"+    ( line 9 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "display")) (Ident (Identifier "mine")))+       [ NormalArg (Literal (String "1 of 1"))+       , KeyValArg (Identifier "both") (Literal (Boolean True))+       ])+, Space+, HardBreak+, Code+    "typ/meta/counter-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "step")) (Ident (Identifier "mine")))+       [])+, SoftBreak+, Code+    "typ/meta/counter-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "step")) (Ident (Identifier "mine")))+       [])+, SoftBreak+, Text "Second"+, Text ":"+, Space+, Code+    "typ/meta/counter-00.typ"+    ( line 12 , column 10 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "display")) (Ident (Identifier "mine")))+       [ NormalArg (Literal (String "I")) ])+, SoftBreak+, Code+    "typ/meta/counter-00.typ"+    ( line 13 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "update")) (Ident (Identifier "mine")))+       [ NormalArg+           (FuncExpr+              [ NormalParam (Identifier "n") ]+              (Times (Ident (Identifier "n")) (Literal (Int 2))))+       ])+, SoftBreak+, Code+    "typ/meta/counter-00.typ"+    ( line 14 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "step")) (Ident (Identifier "mine")))+       [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Final: ]), +                 locate(func: ), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+First: ]), +                 text(body: [1]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+]), +                 text(body: [7]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+]), +                 text(body: [+Second: ]), +                 text(body: [9]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak() })
+ test/typ/meta/counter-01.out view
@@ -0,0 +1,127 @@+--- parse tree ---+[ Code+    "typ/meta/counter-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/counter-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/counter-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/counter-01.typ"+    ( line 3 , column 2 )+    (Let (BasicBind (Just (Identifier "label"))) (Label "heya"))+, SoftBreak+, Code+    "typ/meta/counter-01.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "count")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "display"))+             (FuncCall+                (Ident (Identifier "counter"))+                [ NormalArg (Ident (Identifier "label")) ]))+          []))+, SoftBreak+, Code+    "typ/meta/counter-01.typ"+    ( line 5 , column 2 )+    (LetFunc+       (Identifier "elem")+       [ NormalParam (Identifier "it") ]+       (Block+          (Content+             [ Code+                 "typ/meta/counter-01.typ"+                 ( line 5 , column 19 )+                 (FuncCall+                    (Ident (Identifier "box")) [ NormalArg (Ident (Identifier "it")) ])+             , Space+             , Code+                 "typ/meta/counter-01.typ"+                 ( line 5 , column 28 )+                 (Ident (Identifier "label"))+             ])))+, ParBreak+, Code+    "typ/meta/counter-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "elem"))+       [ BlockArg [ Text "hey," , Space , Text "there!" ] ])+, Space+, Code+    "typ/meta/counter-01.typ"+    ( line 7 , column 21 )+    (Ident (Identifier "count"))+, Space+, HardBreak+, Code+    "typ/meta/counter-01.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "elem"))+       [ BlockArg [ Text "more" , Space , Text "here!" ] ])+, Space+, Code+    "typ/meta/counter-01.typ"+    ( line 8 , column 20 )+    (Ident (Identifier "count"))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 box(body: text(body: [hey, there!])), +                 text(body: [ ]), +                 <heya>, +                 text(body: [ ]), +                 text(body: [0]), +                 text(body: [ ]), +                 linebreak(), +                 box(body: text(body: [more here!])), +                 text(body: [ ]), +                 <heya>, +                 text(body: [ ]), +                 text(body: [0]), +                 parbreak() })
+ test/typ/meta/counter-02.out view
@@ -0,0 +1,189 @@+--- parse tree ---+[ Code+    "typ/meta/counter-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/counter-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/counter-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/counter-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "numbering") (Literal (String "1.a.")) ])+, SoftBreak+, Code+    "typ/meta/counter-02.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Ident (Identifier "heading")))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Literal (Numeric 10.0 Pt)) ]))+, SoftBreak+, Code+    "typ/meta/counter-02.typ"+    ( line 5 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "step"))+          (FuncCall+             (Ident (Identifier "counter"))+             [ NormalArg (Ident (Identifier "heading")) ]))+       [])+, ParBreak+, Heading 1 [ Text "Alpha" ]+, Text "In"+, Space+, Code+    "typ/meta/counter-02.typ"+    ( line 8 , column 5 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "display"))+          (FuncCall+             (Ident (Identifier "counter"))+             [ NormalArg (Ident (Identifier "heading")) ]))+       [])+, SoftBreak+, Heading 2 [ Text "Beta" ]+, Code+    "typ/meta/counter-02.typ"+    ( line 11 , column 2 )+    (Set+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "numbering") (Literal None) ])+, SoftBreak+, Heading 1 [ Text "Gamma" ]+, Code+    "typ/meta/counter-02.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "numbering") (Literal (String "I."))+       , BlockArg [ Text "Delta" ]+       ])+, ParBreak+, Text "At"+, Space+, Text "Beta,"+, Space+, Text "it"+, Space+, Text "was"+, Space+, Code+    "typ/meta/counter-02.typ"+    ( line 15 , column 18 )+    (FuncCall+       (Ident (Identifier "locate"))+       [ NormalArg+           (FuncExpr+              [ NormalParam (Identifier "loc") ]+              (Block+                 (CodeBlock+                    [ Let+                        (BasicBind (Just (Identifier "it")))+                        (FuncCall+                           (FieldAccess+                              (Ident (Identifier "find"))+                              (FuncCall+                                 (Ident (Identifier "query"))+                                 [ NormalArg (Ident (Identifier "heading"))+                                 , NormalArg (Ident (Identifier "loc"))+                                 ]))+                           [ NormalArg+                               (FuncExpr+                                  [ NormalParam (Identifier "it") ]+                                  (Equals+                                     (FieldAccess+                                        (Ident (Identifier "body")) (Ident (Identifier "it")))+                                     (Block (Content [ Text "Beta" ]))))+                           ])+                    , FuncCall+                        (Ident (Identifier "numbering"))+                        [ NormalArg+                            (FieldAccess+                               (Ident (Identifier "numbering")) (Ident (Identifier "it")))+                        , SpreadArg+                            (FuncCall+                               (FieldAccess+                                  (Ident (Identifier "at"))+                                  (FuncCall+                                     (Ident (Identifier "counter"))+                                     [ NormalArg (Ident (Identifier "heading")) ]))+                               [ NormalArg+                                   (FuncCall+                                      (FieldAccess+                                         (Ident (Identifier "location")) (Ident (Identifier "it")))+                                      [])+                               ])+                        ]+                    ])))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [Alpha]), +                         level: 1, +                         numbering: "1.a."), +                 text(body: [In ]), +                 text(body: [1]), +                 text(body: [+]), +                 heading(body: text(body: [Beta]), +                         level: 2, +                         numbering: "1.a."), +                 text(body: [+]), +                 heading(body: text(body: [Gamma]), +                         level: 1, +                         numbering: none), +                 heading(body: text(body: [Delta]), +                         numbering: "I."), +                 parbreak(), +                 text(body: [At Beta, it was ]), +                 locate(func: ), +                 parbreak() })
+ test/typ/meta/counter-03.out view
@@ -0,0 +1,179 @@+--- parse tree ---+[ Code+    "typ/meta/counter-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/counter-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/counter-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/counter-03.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ KeyValArg (Identifier "numbering") (Literal (String "A"))+       , KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ Text "Four"+                 , Space+                 , Quote '\''+                 , Text "A"+                 , Quote '\''+                 , Text "s"+                 ]))+       , KeyValArg (Identifier "kind") (Ident (Identifier "image"))+       , KeyValArg (Identifier "supplement") (Literal (String "Figure"))+       , BlockArg [ Emph [ Text "AAAA!" ] ]+       ])+, SoftBreak+, Code+    "typ/meta/counter-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ KeyValArg (Identifier "numbering") (Literal None)+       , KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ Text "Four"+                 , Space+                 , Quote '\''+                 , Text "B"+                 , Quote '\''+                 , Text "s"+                 ]))+       , KeyValArg (Identifier "kind") (Ident (Identifier "image"))+       , KeyValArg (Identifier "supplement") (Literal (String "Figure"))+       , BlockArg [ Emph [ Text "BBBB!" ] ]+       ])+, SoftBreak+, Code+    "typ/meta/counter-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ Text "Four"+                 , Space+                 , Quote '\''+                 , Text "C"+                 , Quote '\''+                 , Text "s"+                 ]))+       , KeyValArg (Identifier "kind") (Ident (Identifier "image"))+       , KeyValArg (Identifier "supplement") (Literal (String "Figure"))+       , BlockArg [ Emph [ Text "CCCC!" ] ]+       ])+, SoftBreak+, Code+    "typ/meta/counter-03.typ"+    ( line 6 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "update"))+          (FuncCall+             (Ident (Identifier "counter"))+             [ NormalArg+                 (FuncCall+                    (FieldAccess+                       (Ident (Identifier "where")) (Ident (Identifier "figure")))+                    [ KeyValArg (Identifier "kind") (Ident (Identifier "image")) ])+             ]))+       [ NormalArg+           (FuncExpr+              [ NormalParam (Identifier "n") ]+              (Plus (Ident (Identifier "n")) (Literal (Int 3))))+       ])+, SoftBreak+, Code+    "typ/meta/counter-03.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ Text "Four"+                 , Space+                 , Quote '\''+                 , Text "D"+                 , Quote '\''+                 , Text "s"+                 ]))+       , KeyValArg (Identifier "kind") (Ident (Identifier "image"))+       , KeyValArg (Identifier "supplement") (Literal (String "Figure"))+       , BlockArg [ Emph [ Text "DDDD!" ] ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 figure(body: emph(body: text(body: [AAAA!])), +                        caption: text(body: [Four ‘A’s]), +                        kind: , +                        numbering: "A", +                        supplement: "Figure"), +                 text(body: [+]), +                 figure(body: emph(body: text(body: [BBBB!])), +                        caption: text(body: [Four ‘B’s]), +                        kind: , +                        numbering: none, +                        supplement: "Figure"), +                 text(body: [+]), +                 figure(body: emph(body: text(body: [CCCC!])), +                        caption: text(body: [Four ‘C’s]), +                        kind: , +                        supplement: "Figure"), +                 text(body: [+]), +                 text(body: [+]), +                 figure(body: emph(body: text(body: [DDDD!])), +                        caption: text(body: [Four ‘D’s]), +                        kind: , +                        supplement: "Figure"), +                 parbreak() })
+ test/typ/meta/counter-page-00.out view
@@ -0,0 +1,130 @@+--- parse tree ---+[ Code+    "typ/meta/counter-page-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/counter-page-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/counter-page-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/meta/counter-page-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Pt))+       , KeyValArg+           (Identifier "margin")+           (Dict+              [ Reg ( Ident (Identifier "bottom") , Literal (Numeric 20.0 Pt) )+              , Reg ( Ident (Identifier "rest") , Literal (Numeric 10.0 Pt) )+              ])+       ])+, SoftBreak+, Code+    "typ/meta/counter-page-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 12)) ])+, SoftBreak+, Code+    "typ/meta/counter-page-00.typ"+    ( line 6 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "numbering") (Literal (String "(i)")) ])+, SoftBreak+, Code+    "typ/meta/counter-page-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 6)) ])+, SoftBreak+, Code+    "typ/meta/counter-page-00.typ"+    ( line 8 , column 2 )+    (FuncCall (Ident (Identifier "pagebreak")) [])+, SoftBreak+, Code+    "typ/meta/counter-page-00.typ"+    ( line 9 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "numbering") (Literal (String "1 / 1")) ])+, SoftBreak+, Code+    "typ/meta/counter-page-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "update"))+          (FuncCall+             (Ident (Identifier "counter"))+             [ NormalArg (Ident (Identifier "page")) ]))+       [ NormalArg (Literal (Int 1)) ])+, SoftBreak+, Code+    "typ/meta/counter-page-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [Lorem ipsum dolor sit amet, consectetur]), +                 text(body: [+]), +                 pagebreak(), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut]), +                 parbreak() })
+ test/typ/meta/document-00.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/meta/document-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/document-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/document-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/document-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "document"))+       [ KeyValArg (Identifier "title") (Literal (String "Hello")) ])+, SoftBreak+, Text "What"+, Quote '\''+, Text "s"+, Space+, Text "up?"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+What’s up?]), +                 parbreak() })
+ test/typ/meta/document-01.out view
@@ -0,0 +1,58 @@+--- parse tree ---+[ Code+    "typ/meta/document-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/document-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/document-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/meta/document-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "document"))+       [ KeyValArg+           (Identifier "author")+           (Array [ Reg (Literal (String "A")) , Reg (Literal (String "B")) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak() })
+ test/typ/meta/document-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/document-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/document-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/document-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/document-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/document-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/figure-00.out view
@@ -0,0 +1,223 @@+--- parse tree ---+[ Code+    "typ/meta/figure-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/figure-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/figure-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/figure-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 150.0 Pt)) ])+, SoftBreak+, Code+    "typ/meta/figure-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "figure"))+       [ KeyValArg (Identifier "numbering") (Literal (String "I")) ])+, ParBreak+, Text "We"+, Space+, Text "can"+, Space+, Text "clearly"+, Space+, Text "see"+, Space+, Text "that"+, Space+, Ref "fig-cylinder" (Literal Auto)+, Space+, Text "and"+, SoftBreak+, Ref "tab-complex" (Literal Auto)+, Space+, Text "are"+, Space+, Text "relevant"+, Space+, Text "in"+, Space+, Text "this"+, Space+, Text "context"+, Text "."+, ParBreak+, Code+    "typ/meta/figure-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "table"))+              [ KeyValArg (Identifier "columns") (Literal (Int 2))+              , BlockArg [ Text "a" ]+              , BlockArg [ Text "b" ]+              ])+       , KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ Text "The"+                 , Space+                 , Text "basic"+                 , Space+                 , Text "table"+                 , Text "."+                 ]))+       ])+, Space+, Code+    "typ/meta/figure-00.typ" ( line 11 , column 3 ) (Label "tab-basic")+, ParBreak+, Code+    "typ/meta/figure-00.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "pad"))+              [ KeyValArg (Identifier "y") (Negated (Literal (Numeric 6.0 Pt)))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "image"))+                     [ NormalArg (Literal (String "/assets/files/cylinder.svg"))+                     , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))+                     ])+              ])+       , KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ Text "The"+                 , Space+                 , Text "basic"+                 , Space+                 , Text "shapes"+                 , Text "."+                 ]))+       , KeyValArg (Identifier "numbering") (Literal (String "I"))+       ])+, Space+, Code+    "typ/meta/figure-00.typ"+    ( line 17 , column 3 )+    (Label "fig-cylinder")+, ParBreak+, Code+    "typ/meta/figure-00.typ"+    ( line 19 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "table"))+              [ KeyValArg (Identifier "columns") (Literal (Int 3))+              , BlockArg [ Text "a" ]+              , BlockArg [ Text "b" ]+              , BlockArg [ Text "c" ]+              , BlockArg [ Text "d" ]+              , BlockArg [ Text "e" ]+              , BlockArg [ Text "f" ]+              ])+       , KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ Text "The"+                 , Space+                 , Text "complex"+                 , Space+                 , Text "table"+                 , Text "."+                 ]))+       ])+, Space+, Code+    "typ/meta/figure-00.typ"+    ( line 22 , column 3 )+    (Label "tab-complex")+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [We can clearly see that ]), +                 ref(supplement: auto, +                     target: <fig-cylinder>), +                 text(body: [ and+]), +                 ref(supplement: auto, +                     target: <tab-complex>), +                 text(body: [ are relevant in this context.]), +                 parbreak(), +                 figure(body: table(children: (text(body: [a]), +                                               text(body: [b])), +                                    columns: 2), +                        caption: text(body: [The basic table.]), +                        numbering: "I"), +                 text(body: [ ]), +                 <tab-basic>, +                 parbreak(), +                 figure(body: pad(body: image(height: 2.0cm, +                                              path: "/assets/files/cylinder.svg"), +                                  y: -6.0pt), +                        caption: text(body: [The basic shapes.]), +                        numbering: "I"), +                 text(body: [ ]), +                 <fig-cylinder>, +                 parbreak(), +                 figure(body: table(children: (text(body: [a]), +                                               text(body: [b]), +                                               text(body: [c]), +                                               text(body: [d]), +                                               text(body: [e]), +                                               text(body: [f])), +                                    columns: 3), +                        caption: text(body: [The complex table.]), +                        numbering: "I"), +                 text(body: [ ]), +                 <tab-complex>, +                 parbreak() })
+ test/typ/meta/figure-01.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/meta/figure-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/figure-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/figure-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, ParBreak+, Comment+, Code+    "typ/meta/figure-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "table"))+              [ KeyValArg (Identifier "columns") (Literal (Int 2))+              , NormalArg+                  (Block (Content [ Text "Second" , Space , Text "cylinder" ]))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "image"))+                     [ NormalArg (Literal (String "/assets/files/cylinder.svg")) ])+              ])+       , KeyValArg+           (Identifier "caption")+           (Literal (String "A table containing images."))+       ])+, Space+, Code+    "typ/meta/figure-01.typ"+    ( line 11 , column 3 )+    (Label "fig-image-in-table")+, ParBreak+]+--- evaluated ---+document(body: { parbreak(), +                 figure(body: table(children: (text(body: [Second cylinder]), +                                               image(path: "/assets/files/cylinder.svg")), +                                    columns: 2), +                        caption: "A table containing images."), +                 text(body: [ ]), +                 <fig-image-in-table>, +                 parbreak() })
+ test/typ/meta/figure-02.out view
@@ -0,0 +1,291 @@+--- parse tree ---+[ Code+    "typ/meta/figure-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/figure-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/figure-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, ParBreak+, Comment+, Code+    "typ/meta/figure-02.typ"+    ( line 4 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "figure")))+             [ KeyValArg (Identifier "kind") (Literal (String "theorem")) ]))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (CodeBlock+                [ Let (BasicBind (Just (Identifier "name"))) (Literal None)+                , If+                    [ ( Not+                          (Equals+                             (FieldAccess+                                (Ident (Identifier "caption")) (Ident (Identifier "it")))+                             (Literal None))+                      , Block+                          (CodeBlock+                             [ Assign+                                 (Ident (Identifier "name"))+                                 (Block+                                    (Content+                                       [ Space+                                       , Code+                                           "typ/meta/figure-02.typ"+                                           ( line 7 , column 15 )+                                           (FuncCall+                                              (Ident (Identifier "emph"))+                                              [ NormalArg+                                                  (FieldAccess+                                                     (Ident (Identifier "caption"))+                                                     (Ident (Identifier "it")))+                                              ])+                                       ]))+                             ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (CodeBlock+                             [ Assign (Ident (Identifier "name")) (Block (Content [])) ])+                      )+                    ]+                , Let (BasicBind (Just (Identifier "title"))) (Literal None)+                , If+                    [ ( Not+                          (Equals+                             (FieldAccess+                                (Ident (Identifier "numbering")) (Ident (Identifier "it")))+                             (Literal None))+                      , Block+                          (CodeBlock+                             [ Assign+                                 (Ident (Identifier "title"))+                                 (FieldAccess+                                    (Ident (Identifier "supplement")) (Ident (Identifier "it")))+                             , If+                                 [ ( Not+                                       (Equals+                                          (FieldAccess+                                             (Ident (Identifier "numbering"))+                                             (Ident (Identifier "it")))+                                          (Literal None))+                                   , Block+                                       (CodeBlock+                                          [ Assign+                                              (Ident (Identifier "title"))+                                              (Plus+                                                 (Ident (Identifier "title"))+                                                 (Plus+                                                    (Literal (String " "))+                                                    (FuncCall+                                                       (FieldAccess+                                                          (Ident (Identifier "display"))+                                                          (FieldAccess+                                                             (Ident (Identifier "counter"))+                                                             (Ident (Identifier "it"))))+                                                       [ NormalArg+                                                           (FieldAccess+                                                              (Ident (Identifier "numbering"))+                                                              (Ident (Identifier "it")))+                                                       ])))+                                          ])+                                   )+                                 ]+                             ])+                      )+                    ]+                , Assign+                    (Ident (Identifier "title"))+                    (FuncCall+                       (Ident (Identifier "strong"))+                       [ NormalArg (Ident (Identifier "title")) ])+                , FuncCall+                    (Ident (Identifier "pad"))+                    [ KeyValArg (Identifier "top") (Literal (Numeric 0.0 Em))+                    , KeyValArg (Identifier "bottom") (Literal (Numeric 0.0 Em))+                    , NormalArg+                        (FuncCall+                           (Ident (Identifier "block"))+                           [ KeyValArg+                               (Identifier "fill")+                               (FuncCall+                                  (FieldAccess+                                     (Ident (Identifier "lighten")) (Ident (Identifier "green")))+                                  [ NormalArg (Literal (Numeric 90.0 Percent)) ])+                           , KeyValArg+                               (Identifier "stroke")+                               (Plus (Literal (Numeric 1.0 Pt)) (Ident (Identifier "green")))+                           , KeyValArg (Identifier "inset") (Literal (Numeric 10.0 Pt))+                           , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+                           , KeyValArg (Identifier "radius") (Literal (Numeric 5.0 Pt))+                           , KeyValArg (Identifier "breakable") (Literal (Boolean False))+                           , NormalArg+                               (Block+                                  (Content+                                     [ Code+                                         "typ/meta/figure-02.typ"+                                         ( line 29 , column 9 )+                                         (Ident (Identifier "title"))+                                     , Code+                                         "typ/meta/figure-02.typ"+                                         ( line 29 , column 15 )+                                         (Ident (Identifier "name"))+                                     , Code+                                         "typ/meta/figure-02.typ"+                                         ( line 29 , column 20 )+                                         (FuncCall+                                            (Ident (Identifier "h"))+                                            [ NormalArg (Literal (Numeric 0.1 Em)) ])+                                     , Text ":"+                                     , Code+                                         "typ/meta/figure-02.typ"+                                         ( line 29 , column 30 )+                                         (FuncCall+                                            (Ident (Identifier "h"))+                                            [ NormalArg (Literal (Numeric 0.2 Em)) ])+                                     , Code+                                         "typ/meta/figure-02.typ"+                                         ( line 29 , column 39 )+                                         (FieldAccess+                                            (Ident (Identifier "body")) (Ident (Identifier "it")))+                                     , Code+                                         "typ/meta/figure-02.typ"+                                         ( line 29 , column 47 )+                                         (FuncCall+                                            (Ident (Identifier "v"))+                                            [ NormalArg (Literal (Numeric 0.5 Em)) ])+                                     ]))+                           ])+                    ]+                ]))))+, ParBreak+, Code+    "typ/meta/figure-02.typ"+    ( line 34 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 150.0 Pt)) ])+, SoftBreak+, Code+    "typ/meta/figure-02.typ"+    ( line 35 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (Block+              (Content+                 [ Equation+                     False+                     [ MAttach Nothing (Just (Text "2")) (Text "a")+                     , Text "+"+                     , MAttach Nothing (Just (Text "2")) (Text "b")+                     , Text "="+                     , MAttach Nothing (Just (Text "2")) (Text "c")+                     ]+                 ]))+       , KeyValArg (Identifier "supplement") (Literal (String "Theorem"))+       , KeyValArg (Identifier "kind") (Literal (String "theorem"))+       , KeyValArg+           (Identifier "caption") (Literal (String "Pythagoras' theorem."))+       , KeyValArg (Identifier "numbering") (Literal (String "1"))+       ])+, Space+, Code+    "typ/meta/figure-02.typ"+    ( line 41 , column 3 )+    (Label "fig-formula")+, ParBreak+, Code+    "typ/meta/figure-02.typ"+    ( line 43 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (Block+              (Content+                 [ Equation+                     False+                     [ MAttach Nothing (Just (Text "2")) (Text "a")+                     , Text "+"+                     , MAttach Nothing (Just (Text "2")) (Text "b")+                     , Text "="+                     , MAttach Nothing (Just (Text "2")) (Text "c")+                     ]+                 ]))+       , KeyValArg (Identifier "supplement") (Literal (String "Theorem"))+       , KeyValArg (Identifier "kind") (Literal (String "theorem"))+       , KeyValArg+           (Identifier "caption")+           (Literal (String "Another Pythagoras' theorem."))+       , KeyValArg (Identifier "numbering") (Literal None)+       ])+, Space+, Code+    "typ/meta/figure-02.typ"+    ( line 49 , column 3 )+    (Label "fig-formula")+, ParBreak+, Code+    "typ/meta/figure-02.typ"+    ( line 51 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (Block+              (Content+                 [ RawBlock "rust" "fn main() {\n    println!(\"Hello!\");\n  }\n  "+                 ]))+       , KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ Text "Hello"+                 , Space+                 , Text "world"+                 , Space+                 , Text "in"+                 , Space+                 , Emph [ Text "rust" ]+                 ]))+       ])+, ParBreak+]+"typ/meta/figure-02.typ" (line 35, column 2):+Content does not have a method "counter" or FieldAccess requires a dictionary
+ test/typ/meta/figure-03.out view
@@ -0,0 +1,91 @@+--- parse tree ---+[ Code+    "typ/meta/figure-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/figure-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/figure-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/figure-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 6.0 Em)) ])+, SoftBreak+, Code+    "typ/meta/figure-03.typ"+    ( line 4 , column 2 )+    (Show+       (Just (Ident (Identifier "figure")))+       (Set+          (Ident (Identifier "block"))+          [ KeyValArg (Identifier "breakable") (Literal (Boolean True)) ]))+, ParBreak+, Code+    "typ/meta/figure-03.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "table"))+              [ BlockArg [ Text "a" ]+              , BlockArg [ Text "b" ]+              , BlockArg [ Text "c" ]+              , BlockArg [ Text "d" ]+              , BlockArg [ Text "e" ]+              ])+       , KeyValArg+           (Identifier "caption")+           (Block (Content [ Text "A" , Space , Text "table" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 figure(body: table(children: (text(body: [a]), +                                               text(body: [b]), +                                               text(body: [c]), +                                               text(body: [d]), +                                               text(body: [e]))), +                        caption: text(body: [A table])), +                 parbreak() })
+ test/typ/meta/footnote-00.out view
@@ -0,0 +1,53 @@+--- parse tree ---+[ Code+    "typ/meta/footnote-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/footnote-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/footnote-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/footnote-00.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "footnote")) [ BlockArg [ Text "Hi" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 footnote(body: text(body: [Hi])), +                 parbreak() })
+ test/typ/meta/footnote-01.out view
@@ -0,0 +1,69 @@+--- parse tree ---+[ Code+    "typ/meta/footnote-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/footnote-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/footnote-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Code+    "typ/meta/footnote-01.typ"+    ( line 3 , column 3 )+    (FuncCall+       (Ident (Identifier "footnote")) [ BlockArg [ Text "A" ] ])+, Space+, HardBreak+, Text "A"+, Space+, Code+    "typ/meta/footnote-01.typ"+    ( line 4 , column 4 )+    (FuncCall+       (Ident (Identifier "footnote")) [ BlockArg [ Text "A" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A]), +                 footnote(body: text(body: [A])), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [A ]), +                 footnote(body: text(body: [A])), +                 parbreak() })
+ test/typ/meta/footnote-02.out view
@@ -0,0 +1,114 @@+--- parse tree ---+[ Code+    "typ/meta/footnote-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/footnote-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/footnote-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "First"+, Space+, HardBreak+, Text "Second"+, Space+, Code+    "typ/meta/footnote-02.typ"+    ( line 4 , column 9 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg+           [ Text "A,"+           , Space+           , Code+               "typ/meta/footnote-02.typ"+               ( line 4 , column 22 )+               (FuncCall+                  (Ident (Identifier "footnote"))+                  [ BlockArg+                      [ Text "B,"+                      , Space+                      , Code+                          "typ/meta/footnote-02.typ"+                          ( line 4 , column 35 )+                          (FuncCall+                             (Ident (Identifier "footnote")) [ BlockArg [ Text "C" ] ])+                      ]+                  ])+           ]+       ])+, Space+, HardBreak+, Text "Third"+, Space+, Code+    "typ/meta/footnote-02.typ"+    ( line 5 , column 8 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg+           [ Text "D,"+           , Space+           , Code+               "typ/meta/footnote-02.typ"+               ( line 5 , column 21 )+               (FuncCall+                  (Ident (Identifier "footnote")) [ BlockArg [ Text "E" ] ])+           ]+       ])+, Space+, HardBreak+, Text "Fourth"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [First ]), +                 linebreak(), +                 text(body: [Second ]), +                 footnote(body: { text(body: [A, ]), +                                  footnote(body: { text(body: [B, ]), +                                                   footnote(body: text(body: [C])) }) }), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [Third ]), +                 footnote(body: { text(body: [D, ]), +                                  footnote(body: text(body: [E])) }), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [Fourth]), +                 parbreak() })
+ test/typ/meta/footnote-03.out view
@@ -0,0 +1,75 @@+--- parse tree ---+[ Code+    "typ/meta/footnote-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/footnote-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/footnote-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/meta/footnote-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg+           [ Text "A,"+           , Space+           , Code+               "typ/meta/footnote-03.typ"+               ( line 4 , column 15 )+               (FuncCall+                  (Ident (Identifier "footnote")) [ BlockArg [ Text "B" ] ])+           ]+       ])+, Text ","+, Space+, Code+    "typ/meta/footnote-03.typ"+    ( line 4 , column 30 )+    (FuncCall+       (Ident (Identifier "footnote")) [ BlockArg [ Text "C" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 footnote(body: { text(body: [A, ]), +                                  footnote(body: text(body: [B])) }), +                 text(body: [, ]), +                 footnote(body: text(body: [C])), +                 parbreak() })
+ test/typ/meta/footnote-04.out view
@@ -0,0 +1,111 @@+--- parse tree ---+[ Code+    "typ/meta/footnote-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/footnote-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/footnote-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/footnote-04.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "footnote")))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Ident (Identifier "red")) ]))+, SoftBreak+, Code+    "typ/meta/footnote-04.typ"+    ( line 4 , column 2 )+    (Show+       (Just+          (FieldAccess+             (Ident (Identifier "entry")) (Ident (Identifier "footnote"))))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Literal (Numeric 8.0 Pt))+          , KeyValArg (Identifier "style") (Literal (String "italic"))+          ]))+, SoftBreak+, Code+    "typ/meta/footnote-04.typ"+    ( line 5 , column 2 )+    (Set+       (FieldAccess+          (Ident (Identifier "entry")) (Ident (Identifier "footnote")))+       [ KeyValArg (Identifier "indent") (Literal (Numeric 0.0 Pt))+       , KeyValArg (Identifier "gap") (Literal (Numeric 0.6 Em))+       , KeyValArg (Identifier "clearance") (Literal (Numeric 0.3 Em))+       , KeyValArg+           (Identifier "separator")+           (FuncCall (Ident (Identifier "repeat")) [ BlockArg [ Text "." ] ])+       ])+, ParBreak+, Text "Beautiful"+, Space+, Text "footnotes"+, Text "."+, Space+, Code+    "typ/meta/footnote-04.typ"+    ( line 12 , column 23 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg+           [ Text "Wonderful,"+           , Space+           , Text "aren"+           , Quote '\''+           , Text "t"+           , Space+           , Text "they?"+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [Beautiful footnotes. ]), +                 footnote(body: text(body: [Wonderful, aren’t they?])), +                 parbreak() })
+ test/typ/meta/footnote-break-00.out view
@@ -0,0 +1,202 @@+--- parse tree ---+[ Code+    "typ/meta/footnote-break-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/footnote-break-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/footnote-break-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/footnote-break-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 200.0 Pt)) ])+, ParBreak+, Code+    "typ/meta/footnote-break-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 5)) ])+, SoftBreak+, Code+    "typ/meta/footnote-break-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg+           [ Space+           , Comment+           , Space+           , Text "A"+           , Space+           , Text "simple"+           , Space+           , Text "footnote"+           , Text "."+           , SoftBreak+           , Code+               "typ/meta/footnote-break-00.typ"+               ( line 7 , column 4 )+               (FuncCall+                  (Ident (Identifier "footnote"))+                  [ BlockArg+                      [ Text "Well,"+                      , Space+                      , Text "not"+                      , Space+                      , Text "that"+                      , Space+                      , Text "simple"+                      , Space+                      , Ellipsis+                      ]+                  ])+           , Space+           , Comment+           ]+       ])+, SoftBreak+, Code+    "typ/meta/footnote-break-00.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 15)) ])+, SoftBreak+, Code+    "typ/meta/footnote-break-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg+           [ Text "Another"+           , Space+           , Text "footnote"+           , Text ":"+           , Space+           , Code+               "typ/meta/footnote-break-00.typ"+               ( line 10 , column 30 )+               (FuncCall+                  (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 30)) ])+           ]+       ])+, Space+, Comment+, Code+    "typ/meta/footnote-break-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 15)) ])+, SoftBreak+, Code+    "typ/meta/footnote-break-00.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg+           [ Text "My"+           , Space+           , Text "fourth"+           , Space+           , Text "footnote"+           , Text ":"+           , Space+           , Code+               "typ/meta/footnote-break-00.typ"+               ( line 12 , column 32 )+               (FuncCall+                  (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 50)) ])+           ]+       ])+, Space+, Comment+, Code+    "typ/meta/footnote-break-00.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 15)) ])+, SoftBreak+, Code+    "typ/meta/footnote-break-00.typ"+    ( line 14 , column 2 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg+           [ Text "And"+           , Space+           , Text "a"+           , Space+           , Text "final"+           , Space+           , Text "footnote"+           , Text "."+           ]+       ])+, Space+, Comment+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Lorem ipsum dolor sit amet,]), +                 text(body: [+]), +                 footnote(body: { text(body: [ ]), +                                  text(body: [ A simple footnote.+]), +                                  footnote(body: text(body: [Well, not that simple …])), +                                  text(body: [ ]) }), +                 text(body: [+]), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore]), +                 text(body: [+]), +                 footnote(body: { text(body: [Another footnote: ]), +                                  text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi]) }), +                 text(body: [ ]), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore]), +                 text(body: [+]), +                 footnote(body: { text(body: [My fourth footnote: ]), +                                  text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat]) }), +                 text(body: [ ]), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore]), +                 text(body: [+]), +                 footnote(body: text(body: [And a final footnote.])), +                 text(body: [ ]) })
+ test/typ/meta/footnote-container-00.out view
@@ -0,0 +1,157 @@+--- parse tree ---+[ Code+    "typ/meta/footnote-container-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/footnote-container-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/footnote-container-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Read"+, Space+, Text "the"+, Space+, Text "docs"+, Space+, Code+    "typ/meta/footnote-container-00.typ"+    ( line 3 , column 16 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg [ Url "https://typst.app/docs" ] ])+, Text "!"+, SoftBreak+, Code+    "typ/meta/footnote-container-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/graph.png"))+              , KeyValArg (Identifier "width") (Literal (Numeric 70.0 Percent))+              ])+       , KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ SoftBreak+                 , Text "A"+                 , Space+                 , Text "graph"+                 , Space+                 , Code+                     "typ/meta/footnote-container-00.typ"+                     ( line 7 , column 14 )+                     (FuncCall+                        (Ident (Identifier "footnote"))+                        [ BlockArg+                            [ Text "A"+                            , Space+                            , Emph [ Text "graph" ]+                            , Space+                            , Text "is"+                            , Space+                            , Text "a"+                            , Space+                            , Text "structure"+                            , Space+                            , Text "with"+                            , Space+                            , Text "nodes"+                            , Space+                            , Text "and"+                            , Space+                            , Text "edges"+                            , Text "."+                            ]+                        ])+                 , ParBreak+                 ]))+       ])+, SoftBreak+, Text "More"+, Space+, Code+    "typ/meta/footnote-container-00.typ"+    ( line 10 , column 7 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg [ Text "just" , Space , Text "for" , Space , Ellipsis ]+       ])+, Space+, Text "footnotes"+, Space+, Code+    "typ/meta/footnote-container-00.typ"+    ( line 10 , column 41 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ BlockArg+           [ Ellipsis+           , Space+           , Text "testing"+           , Text "."+           , Space+           , Text ":"+           , Text ")"+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Read the docs ]), +                 footnote(body: link(body: [https://typst.app/docs], +                                     dest: "https://typst.app/docs")), +                 text(body: [!+]), +                 figure(body: image(path: "/assets/files/graph.png", +                                    width: 70%), +                        caption: { text(body: [+A graph ]), +                                   footnote(body: { text(body: [A ]), +                                                    emph(body: text(body: [graph])), +                                                    text(body: [ is a structure with nodes and edges.]) }), +                                   parbreak() }), +                 text(body: [+More ]), +                 footnote(body: text(body: [just for …])), +                 text(body: [ footnotes ]), +                 footnote(body: text(body: [… testing. :)])), +                 parbreak() })
+ test/typ/meta/footnote-container-01.out view
@@ -0,0 +1,202 @@+--- parse tree ---+[ Code+    "typ/meta/footnote-container-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/footnote-container-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/footnote-container-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/footnote-container-01.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "lang")))+       (FuncCall+          (Ident (Identifier "footnote"))+          [ BlockArg [ Text "Languages" , Text "." ] ]))+, SoftBreak+, Code+    "typ/meta/footnote-container-01.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "nums")))+       (FuncCall+          (Ident (Identifier "footnote"))+          [ BlockArg [ Text "Numbers" , Text "." ] ]))+, ParBreak+, DescListItem+    [ Quote '"' , Text "Hello" , Quote '"' ]+    [ Text "A"+    , Space+    , Text "word"+    , Space+    , Code+        "typ/meta/footnote-container-01.typ"+        ( line 6 , column 20 )+        (Ident (Identifier "lang"))+    ]+, SoftBreak+, DescListItem+    [ Quote '"' , Text "123" , Quote '"' ]+    [ Text "A"+    , Space+    , Text "number"+    , Space+    , Code+        "typ/meta/footnote-container-01.typ"+        ( line 7 , column 20 )+        (Ident (Identifier "nums"))+    , SoftBreak+    ]+, SoftBreak+, BulletListItem+    [ Quote '"'+    , Text "Hello"+    , Quote '"'+    , Space+    , Code+        "typ/meta/footnote-container-01.typ"+        ( line 9 , column 12 )+        (Ident (Identifier "lang"))+    ]+, SoftBreak+, BulletListItem+    [ Quote '"'+    , Text "123"+    , Quote '"'+    , Space+    , Code+        "typ/meta/footnote-container-01.typ"+        ( line 10 , column 10 )+        (Ident (Identifier "nums"))+    , SoftBreak+    ]+, SoftBreak+, EnumListItem+    Nothing+    [ Quote '"'+    , Text "Hello"+    , Quote '"'+    , Space+    , Code+        "typ/meta/footnote-container-01.typ"+        ( line 12 , column 12 )+        (Ident (Identifier "lang"))+    ]+, SoftBreak+, EnumListItem+    Nothing+    [ Quote '"'+    , Text "123"+    , Quote '"'+    , Space+    , Code+        "typ/meta/footnote-container-01.typ"+        ( line 13 , column 10 )+        (Ident (Identifier "nums"))+    , SoftBreak+    ]+, SoftBreak+, Code+    "typ/meta/footnote-container-01.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg (Identifier "columns") (Literal (Int 2))+       , NormalArg (Block (Content [ Text "Hello" ]))+       , NormalArg+           (Block+              (Content+                 [ Text "A"+                 , Space+                 , Text "word"+                 , Space+                 , Code+                     "typ/meta/footnote-container-01.typ"+                     ( line 17 , column 21 )+                     (Ident (Identifier "lang"))+                 ]))+       , NormalArg (Block (Content [ Text "123" ]))+       , NormalArg+           (Block+              (Content+                 [ Text "A"+                 , Space+                 , Text "number"+                 , Space+                 , Code+                     "typ/meta/footnote-container-01.typ"+                     ( line 18 , column 21 )+                     (Ident (Identifier "nums"))+                 ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 terms(children: ((text(body: [“Hello”]), +                                   { text(body: [A word ]), +                                     footnote(body: text(body: [Languages.])) }), +                                  (text(body: [“123”]), +                                   { text(body: [A number ]), +                                     footnote(body: text(body: [Numbers.])), +                                     text(body: [+]) }))), +                 list(children: ({ text(body: [“Hello” ]), +                                   footnote(body: text(body: [Languages.])) }, +                                 { text(body: [“123” ]), +                                   footnote(body: text(body: [Numbers.])), +                                   text(body: [+]) })), +                 enum(children: ({ text(body: [“Hello” ]), +                                   footnote(body: text(body: [Languages.])) }, +                                 { text(body: [“123” ]), +                                   footnote(body: text(body: [Numbers.])), +                                   text(body: [+]) })), +                 table(children: (text(body: [Hello]), +                                  { text(body: [A word ]), +                                    footnote(body: text(body: [Languages.])) }, +                                  text(body: [123]), +                                  { text(body: [A number ]), +                                    footnote(body: text(body: [Numbers.])) }), +                       columns: 2), +                 parbreak() })
+ test/typ/meta/footnote-invariant-00.out view
@@ -0,0 +1,76 @@+--- parse tree ---+[ Code+    "typ/meta/footnote-invariant-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/footnote-invariant-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/footnote-invariant-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/footnote-invariant-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 120.0 Pt)) ])+, ParBreak+, Code+    "typ/meta/footnote-invariant-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 13)) ])+, ParBreak+, Text "There"+, Space+, Code+    "typ/meta/footnote-invariant-00.typ"+    ( line 6 , column 8 )+    (FuncCall+       (Ident (Identifier "footnote"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt]), +                 parbreak(), +                 text(body: [There ]), +                 footnote(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut]), +                 parbreak() })
+ test/typ/meta/heading-00.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/meta/heading-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/heading-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/heading-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Heading 1 [ Text "Level" , Space , Text "1" ]+, Heading 2 [ Text "Level" , Space , Text "2" ]+, Heading 3 [ Text "Level" , Space , Text "3" ]+, Comment+, Heading 11 [ Text "Level" , Space , Text "11" ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 heading(body: text(body: [Level 1]), +                         level: 1), +                 heading(body: text(body: [Level 2]), +                         level: 2), +                 heading(body: text(body: [Level 3]), +                         level: 3), +                 heading(body: text(body: [Level 11]), +                         level: 11) })
+ test/typ/meta/heading-01.out view
@@ -0,0 +1,97 @@+--- parse tree ---+[ Code+    "typ/meta/heading-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/heading-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/heading-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Comment+, Space+, Text "="+, Space+, Text "Level"+, Space+, Text "1"+, SoftBreak+, Code+    "typ/meta/heading-01.typ"+    ( line 6 , column 2 )+    (Block (Content [ Heading 2 [ Text "Level" , Space , Text "2" ] ]))+, SoftBreak+, Code+    "typ/meta/heading-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ BlockArg [ Heading 3 [ Text "Level" , Space , Text "3" ] ] ])+, ParBreak+, Comment+, Text "No"+, Space+, Text "="+, Space+, Text "heading"+, ParBreak+, Comment+, Text "="+, Space+, Text "No"+, Space+, Text "heading"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [ = Level 1+]), +                 heading(body: text(body: [Level 2]), +                         level: 2), +                 text(body: [+]), +                 box(body: heading(body: text(body: [Level 3]), +                                   level: 3)), +                 parbreak(), +                 text(body: [No = heading]), +                 parbreak(), +                 text(body: [= No heading]), +                 parbreak() })
+ test/typ/meta/heading-02.out view
@@ -0,0 +1,80 @@+--- parse tree ---+[ Code+    "typ/meta/heading-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/heading-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/heading-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Heading+    1+    [ Code+        "typ/meta/heading-02.typ"+        ( line 4 , column 4 )+        (Block+           (Content+              [ Text "This"+              , SoftBreak+              , Text "is"+              , SoftBreak+              , Text "multiline"+              , Text "."+              , ParBreak+              ]))+    ]+, Heading 1 [ Text "This" ]+, Text "is"+, Space+, Text "not"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 heading(body: { text(body: [This+is+multiline.]), +                                 parbreak() }, +                         level: 1), +                 heading(body: text(body: [This]), +                         level: 1), +                 text(body: [is not.]), +                 parbreak() })
+ test/typ/meta/heading-03.out view
@@ -0,0 +1,94 @@+--- parse tree ---+[ Code+    "typ/meta/heading-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/heading-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/heading-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/heading-03.typ"+    ( line 3 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "heading")))+             [ KeyValArg (Identifier "level") (Literal (Int 5)) ]))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (FuncCall+             (Ident (Identifier "block"))+             [ NormalArg+                 (FuncCall+                    (Ident (Identifier "text"))+                    [ KeyValArg (Identifier "font") (Literal (String "Roboto"))+                    , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+                    , NormalArg+                        (Plus+                           (FieldAccess (Ident (Identifier "body")) (Ident (Identifier "it")))+                           (Block (Content [ Text "!" ])))+                    ])+             ])))+, ParBreak+, Heading 1 [ Text "Heading" ]+, Heading 5 [ Text "Heading" , Space , Text "\127757" ]+, Code+    "typ/meta/heading-03.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "level") (Literal (Int 5))+       , BlockArg [ Text "Heading" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [Heading]), +                         level: 1), +                 block(body: text(body: { text(body: [Heading 🌍]), +                                          text(body: [!]) }, +                                  fill: rgb(13%,61%,67%,100%), +                                  font: "Roboto")), +                 block(body: text(body: { text(body: [Heading]), +                                          text(body: [!]) }, +                                  fill: rgb(13%,61%,67%,100%), +                                  font: "Roboto")), +                 parbreak() })
+ test/typ/meta/heading-04.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/meta/heading-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/heading-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/heading-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/heading-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "numbering") (Literal (String "1.")) ])+, SoftBreak+, Heading 1 []+, Text "Not"+, Space+, Text "in"+, Space+, Text "heading"+, SoftBreak+, Text "="+, Text "Nope"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 heading(body: {  }, +                         level: 1, +                         numbering: "1."), +                 text(body: [Not in heading+=Nope]), +                 parbreak() })
@@ -0,0 +1,141 @@+--- parse tree ---+[ Code+    "typ/meta/link-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/link-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/link-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Url "https://example.com/"+, ParBreak+, Comment+, Code+    "typ/meta/link-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "link"))+       [ NormalArg (Literal (String "https://typst.org/"))+       , BlockArg+           [ Text "Some"+           , Space+           , Text "text"+           , Space+           , Text "text"+           , Space+           , Text "text"+           ]+       ])+, ParBreak+, Comment+, Text "This"+, Space+, Text "link"+, Space+, Text "appears"+, Space+, Code+    "typ/meta/link-00.typ"+    ( line 9 , column 20 )+    (FuncCall+       (Ident (Identifier "link"))+       [ NormalArg (Literal (String "https://google.com/"))+       , BlockArg+           [ Text "in"+           , Space+           , Text "the"+           , Space+           , Text "middle"+           , Space+           , Text "of"+           ]+       ])+, Space+, Text "a"+, Space+, Text "paragraph"+, Text "."+, ParBreak+, Comment+, Text "Contact"+, Space+, Code+    "typ/meta/link-00.typ"+    ( line 12 , column 10 )+    (FuncCall+       (Ident (Identifier "link"))+       [ NormalArg (Literal (String "mailto:hi@typst.app")) ])+, Space+, Text "or"+, SoftBreak+, Text "call"+, Space+, Code+    "typ/meta/link-00.typ"+    ( line 13 , column 7 )+    (FuncCall+       (Ident (Identifier "link"))+       [ NormalArg (Literal (String "tel:123")) ])+, Space+, Text "for"+, Space+, Text "more"+, Space+, Text "information"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 link(body: [https://example.com/], +                      dest: "https://example.com/"), +                 parbreak(), +                 link(body: text(body: [Some text text text]), +                      dest: "https://typst.org/"), +                 parbreak(), +                 text(body: [This link appears ]), +                 link(body: text(body: [in the middle of]), +                      dest: "https://google.com/"), +                 text(body: [ a paragraph.]), +                 parbreak(), +                 text(body: [Contact ]), +                 link(dest: "mailto:hi@typst.app"), +                 text(body: [ or+call ]), +                 link(dest: "tel:123"), +                 text(body: [ for more information.]), +                 parbreak() })
@@ -0,0 +1,81 @@+--- parse tree ---+[ Code+    "typ/meta/link-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/link-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/link-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/link-01.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "link")))+       (Ident (Identifier "underline")))+, SoftBreak+, Url "https://a.b.?q=%10#."+, Space+, HardBreak+, Text "Wahttp"+, Text ":"+, Comment+, Text "Nohttps"+, Text ":"+, Text "/"+, Text "/"+, Text "link"+, Space+, HardBreak+, Text "Nohttp"+, Text ":"+, Comment+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 underline(body: link(body: [https://a.b.?q=%10#.], +                                      dest: "https://a.b.?q=%10#.")), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [Wahttp:]), +                 text(body: [Nohttps://link ]), +                 linebreak(), +                 text(body: [Nohttp:]), +                 parbreak() })
@@ -0,0 +1,69 @@+--- parse tree ---+[ Code+    "typ/meta/link-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/link-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/link-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Url "https://[::1]:8080/"+, Space+, HardBreak+, Url "https://example.com/(paren)"+, Space+, HardBreak+, Url "https://example.com/#(((nested)))"+, Space+, HardBreak+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 link(body: [https://[::1]:8080/], +                      dest: "https://[::1]:8080/"), +                 text(body: [ ]), +                 linebreak(), +                 link(body: [https://example.com/(paren)], +                      dest: "https://example.com/(paren)"), +                 text(body: [ ]), +                 linebreak(), +                 link(body: [https://example.com/#(((nested)))], +                      dest: "https://example.com/#(((nested)))"), +                 text(body: [ ]), +                 linebreak(), +                 parbreak() })
@@ -0,0 +1,63 @@+--- parse tree ---+[ Code+    "typ/meta/link-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/link-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/link-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/link-03.typ"+    ( line 3 , column 2 )+    (Block (Content [ Url "https://example.com/" ]))+, Space+, HardBreak+, Url "https://example.com/"+, Text ")"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 link(body: [https://example.com/], +                      dest: "https://example.com/"), +                 text(body: [ ]), +                 linebreak(), +                 link(body: [https://example.com/], +                      dest: "https://example.com/"), +                 text(body: [)]), +                 parbreak() })
@@ -0,0 +1,2 @@+--- skipped ---+
@@ -0,0 +1,104 @@+--- parse tree ---+[ Code+    "typ/meta/link-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/link-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/link-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/link-05.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "link")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (FuncCall+             (Ident (Identifier "underline"))+             [ NormalArg+                 (FuncCall+                    (Ident (Identifier "text"))+                    [ KeyValArg+                        (Identifier "fill")+                        (FuncCall+                           (Ident (Identifier "rgb"))+                           [ NormalArg (Literal (String "283663")) ])+                    , NormalArg (Ident (Identifier "it"))+                    ])+             ])))+, SoftBreak+, Text "You"+, Space+, Text "could"+, Space+, Text "also"+, Space+, Text "make"+, Space+, Text "the"+, SoftBreak+, Code+    "typ/meta/link-05.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "link"))+       [ NormalArg (Literal (String "https://html5zombo.com/"))+       , BlockArg+           [ Text "link"+           , Space+           , Text "look"+           , Space+           , Text "way"+           , Space+           , Text "more"+           , Space+           , Text "typical"+           , Text "."+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+You could also make the+]), +                 underline(body: text(body: link(body: text(body: [link look way more typical.]), +                                                 dest: "https://html5zombo.com/"), +                                      fill: rgb(15%,21%,38%,100%))), +                 parbreak() })
@@ -0,0 +1,103 @@+--- parse tree ---+[ Code+    "typ/meta/link-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/link-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/link-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/link-06.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])+, SoftBreak+, Code+    "typ/meta/link-06.typ"+    ( line 4 , column 2 )+    (Let+       (BasicBind (Just (Identifier "mylink")))+       (FuncCall+          (Ident (Identifier "link"))+          [ NormalArg (Literal (String "https://typst.org/"))+          , BlockArg [ Text "LINK" ]+          ]))+, SoftBreak+, Text "My"+, Space+, Text "cool"+, Space+, Code+    "typ/meta/link-06.typ"+    ( line 5 , column 10 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "move"))+              [ KeyValArg (Identifier "dx") (Literal (Numeric 0.7 Cm))+              , KeyValArg (Identifier "dy") (Literal (Numeric 0.7 Cm))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rotate"))+                     [ NormalArg (Literal (Numeric 10.0 Deg))+                     , NormalArg+                         (FuncCall+                            (Ident (Identifier "scale"))+                            [ NormalArg (Literal (Numeric 200.0 Percent))+                            , NormalArg (Ident (Identifier "mylink"))+                            ])+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+My cool ]), +                 box(body: move(body: rotate(angle: 10.0deg, +                                             body: scale(body: link(body: text(body: [LINK]), +                                                                    dest: "https://typst.org/"), +                                                         factor: 200%)), +                                dx: 0.7cm, +                                dy: 0.7cm)), +                 parbreak() })
@@ -0,0 +1,94 @@+--- parse tree ---+[ Code+    "typ/meta/link-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/link-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/link-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/link-07.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "link"))+       [ NormalArg (Literal (String "https://example.com/"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "block"))+              [ BlockArg+                  [ SoftBreak+                  , Text "My"+                  , Space+                  , Text "cool"+                  , Space+                  , Text "rhino"+                  , SoftBreak+                  , Code+                      "typ/meta/link-07.typ"+                      ( line 5 , column 4 )+                      (FuncCall+                         (Ident (Identifier "box"))+                         [ NormalArg+                             (FuncCall+                                (Ident (Identifier "move"))+                                [ KeyValArg (Identifier "dx") (Literal (Numeric 10.0 Pt))+                                , NormalArg+                                    (FuncCall+                                       (Ident (Identifier "image"))+                                       [ NormalArg (Literal (String "/assets/files/rhino.png"))+                                       , KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))+                                       ])+                                ])+                         ])+                  , ParBreak+                  ]+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 link(body: block(body: { text(body: [+My cool rhino+]), +                                          box(body: move(body: image(path: "/assets/files/rhino.png", +                                                                     width: 1.0cm), +                                                         dx: 10.0pt)), +                                          parbreak() }), +                      dest: "https://example.com/"), +                 parbreak() })
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/meta/link-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/link-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/link-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/meta/link-08.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "link"))+       [ NormalArg+           (Dict+              [ Reg ( Ident (Identifier "page") , Literal (Int 1) )+              , Reg ( Ident (Identifier "x") , Literal (Numeric 10.0 Pt) )+              , Reg ( Ident (Identifier "y") , Literal (Numeric 20.0 Pt) )+              ])+       , BlockArg+           [ Text "Back"+           , Space+           , Text "to"+           , Space+           , Text "the"+           , Space+           , Text "start"+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 link(body: text(body: [Back to the start]), +                      dest: (page: 1,+                             x: 10.0pt,+                             y: 20.0pt)), +                 parbreak() })
@@ -0,0 +1,67 @@+--- parse tree ---+[ Code+    "typ/meta/link-09.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/link-09.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/link-09.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Text"+, Space+, Code "typ/meta/link-09.typ" ( line 3 , column 6 ) (Label "hey")+, SoftBreak+, Code+    "typ/meta/link-09.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "link"))+       [ NormalArg (Label "hey")+       , BlockArg+           [ Text "Go" , Space , Text "to" , Space , Text "text" , Text "." ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Text ]), +                 <hey>, +                 text(body: [+]), +                 link(body: text(body: [Go to text.]), +                      dest: <hey>), +                 parbreak() })
@@ -0,0 +1,2 @@+--- skipped ---+
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/numbering-00.out view
@@ -0,0 +1,163 @@+--- parse tree ---+[ Code+    "typ/meta/numbering-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/numbering-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/numbering-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/numbering-00.typ"+    ( line 2 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 9)) ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "*"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block (Content [ Space , Text "and" , Space ])+             , FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "I.a"))+                 , NormalArg (Ident (Identifier "i"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block+                 (Content+                    [ Space+                    , Text "for"+                    , Space+                    , Code+                        "typ/meta/numbering-00.typ"+                        ( line 6 , column 10 )+                        (Ident (Identifier "i"))+                    , Space+                    , HardBreak+                    ])+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 numbering(numbering: "*", +                           numbers: (0)), +                 text(body: [ and ]), +                 numbering(numbering: "I.a", +                           numbers: (0, 0)), +                 text(body: [ for ]), +                 text(body: [0]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "*", +                           numbers: (1)), +                 text(body: [ and ]), +                 numbering(numbering: "I.a", +                           numbers: (1, 1)), +                 text(body: [ for ]), +                 text(body: [1]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "*", +                           numbers: (2)), +                 text(body: [ and ]), +                 numbering(numbering: "I.a", +                           numbers: (2, 2)), +                 text(body: [ for ]), +                 text(body: [2]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "*", +                           numbers: (3)), +                 text(body: [ and ]), +                 numbering(numbering: "I.a", +                           numbers: (3, 3)), +                 text(body: [ for ]), +                 text(body: [3]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "*", +                           numbers: (4)), +                 text(body: [ and ]), +                 numbering(numbering: "I.a", +                           numbers: (4, 4)), +                 text(body: [ for ]), +                 text(body: [4]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "*", +                           numbers: (5)), +                 text(body: [ and ]), +                 numbering(numbering: "I.a", +                           numbers: (5, 5)), +                 text(body: [ for ]), +                 text(body: [5]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "*", +                           numbers: (6)), +                 text(body: [ and ]), +                 numbering(numbering: "I.a", +                           numbers: (6, 6)), +                 text(body: [ for ]), +                 text(body: [6]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "*", +                           numbers: (7)), +                 text(body: [ and ]), +                 numbering(numbering: "I.a", +                           numbers: (7, 7)), +                 text(body: [ for ]), +                 text(body: [7]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "*", +                           numbers: (8)), +                 text(body: [ and ]), +                 numbering(numbering: "I.a", +                           numbers: (8, 8)), +                 text(body: [ for ]), +                 text(body: [8]), +                 text(body: [ ]), +                 linebreak(), +                 parbreak() })
+ test/typ/meta/numbering-01.out view
@@ -0,0 +1,217 @@+--- parse tree ---+[ Code+    "typ/meta/numbering-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/numbering-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/numbering-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/numbering-01.typ"+    ( line 2 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 4)) ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "A"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block+                 (Content+                    [ Space+                    , Text "for"+                    , Space+                    , Code+                        "typ/meta/numbering-01.typ"+                        ( line 4 , column 10 )+                        (Ident (Identifier "i"))+                    , Space+                    , HardBreak+                    ])+             ])))+, SoftBreak+, Ellipsis+, Space+, HardBreak+, Code+    "typ/meta/numbering-01.typ"+    ( line 7 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 26)) , NormalArg (Literal (Int 30)) ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "A"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block+                 (Content+                    [ Space+                    , Text "for"+                    , Space+                    , Code+                        "typ/meta/numbering-01.typ"+                        ( line 9 , column 10 )+                        (Ident (Identifier "i"))+                    , Space+                    , HardBreak+                    ])+             ])))+, SoftBreak+, Ellipsis+, Space+, HardBreak+, Code+    "typ/meta/numbering-01.typ"+    ( line 12 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 702)) , NormalArg (Literal (Int 706)) ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "A"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block+                 (Content+                    [ Space+                    , Text "for"+                    , Space+                    , Code+                        "typ/meta/numbering-01.typ"+                        ( line 14 , column 10 )+                        (Ident (Identifier "i"))+                    , Space+                    , HardBreak+                    ])+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 numbering(numbering: "A", +                           numbers: (0)), +                 text(body: [ for ]), +                 text(body: [0]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (1)), +                 text(body: [ for ]), +                 text(body: [1]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (2)), +                 text(body: [ for ]), +                 text(body: [2]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (3)), +                 text(body: [ for ]), +                 text(body: [3]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+… ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (26)), +                 text(body: [ for ]), +                 text(body: [26]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (27)), +                 text(body: [ for ]), +                 text(body: [27]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (28)), +                 text(body: [ for ]), +                 text(body: [28]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (29)), +                 text(body: [ for ]), +                 text(body: [29]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+… ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (702)), +                 text(body: [ for ]), +                 text(body: [702]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (703)), +                 text(body: [ for ]), +                 text(body: [703]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (704)), +                 text(body: [ for ]), +                 text(body: [704]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "A", +                           numbers: (705)), +                 text(body: [ for ]), +                 text(body: [705]), +                 text(body: [ ]), +                 linebreak(), +                 parbreak() })
+ test/typ/meta/numbering-02.out view
@@ -0,0 +1,129 @@+--- parse tree ---+[ Code+    "typ/meta/numbering-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/numbering-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/numbering-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/numbering-02.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "he")) ])+, SoftBreak+, Code+    "typ/meta/numbering-02.typ"+    ( line 3 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 9))+          , NormalArg (Literal (Int 21))+          , KeyValArg (Identifier "step") (Literal (Int 2))+          ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "\1488."))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block+                 (Content+                    [ Space+                    , Text "\1506\1489\1493\1512"+                    , Space+                    , Code+                        "typ/meta/numbering-02.typ"+                        ( line 5 , column 11 )+                        (Ident (Identifier "i"))+                    , Space+                    , HardBreak+                    ])+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], lang: "he"), +                 numbering(numbering: "א.", +                           numbers: (9)), +                 text(body: [ עבור ], +                      lang: "he"), +                 text(body: [9], lang: "he"), +                 text(body: [ ], lang: "he"), +                 linebreak(), +                 numbering(numbering: "א.", +                           numbers: (11)), +                 text(body: [ עבור ], +                      lang: "he"), +                 text(body: [11], lang: "he"), +                 text(body: [ ], lang: "he"), +                 linebreak(), +                 numbering(numbering: "א.", +                           numbers: (13)), +                 text(body: [ עבור ], +                      lang: "he"), +                 text(body: [13], lang: "he"), +                 text(body: [ ], lang: "he"), +                 linebreak(), +                 numbering(numbering: "א.", +                           numbers: (15)), +                 text(body: [ עבור ], +                      lang: "he"), +                 text(body: [15], lang: "he"), +                 text(body: [ ], lang: "he"), +                 linebreak(), +                 numbering(numbering: "א.", +                           numbers: (17)), +                 text(body: [ עבור ], +                      lang: "he"), +                 text(body: [17], lang: "he"), +                 text(body: [ ], lang: "he"), +                 linebreak(), +                 numbering(numbering: "א.", +                           numbers: (19)), +                 text(body: [ עבור ], +                      lang: "he"), +                 text(body: [19], lang: "he"), +                 text(body: [ ], lang: "he"), +                 linebreak(), +                 parbreak() })
+ test/typ/meta/numbering-03.out view
@@ -0,0 +1,159 @@+--- parse tree ---+[ Code+    "typ/meta/numbering-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/numbering-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/numbering-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/numbering-03.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "zh")) ])+, SoftBreak+, Code+    "typ/meta/numbering-03.typ"+    ( line 3 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 9))+          , NormalArg (Literal (Int 21))+          , KeyValArg (Identifier "step") (Literal (Int 2))+          ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "\19968"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block (Content [ Space , Text "and" , Space ])+             , FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "\22777"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block+                 (Content+                    [ Space+                    , Text "for"+                    , Space+                    , Code+                        "typ/meta/numbering-03.typ"+                        ( line 7 , column 10 )+                        (Ident (Identifier "i"))+                    , Space+                    , HardBreak+                    ])+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], lang: "zh"), +                 numbering(numbering: "一", +                           numbers: (9)), +                 text(body: [ and ], +                      lang: "zh"), +                 numbering(numbering: "壹", +                           numbers: (9)), +                 text(body: [ for ], +                      lang: "zh"), +                 text(body: [9], lang: "zh"), +                 text(body: [ ], lang: "zh"), +                 linebreak(), +                 numbering(numbering: "一", +                           numbers: (11)), +                 text(body: [ and ], +                      lang: "zh"), +                 numbering(numbering: "壹", +                           numbers: (11)), +                 text(body: [ for ], +                      lang: "zh"), +                 text(body: [11], lang: "zh"), +                 text(body: [ ], lang: "zh"), +                 linebreak(), +                 numbering(numbering: "一", +                           numbers: (13)), +                 text(body: [ and ], +                      lang: "zh"), +                 numbering(numbering: "壹", +                           numbers: (13)), +                 text(body: [ for ], +                      lang: "zh"), +                 text(body: [13], lang: "zh"), +                 text(body: [ ], lang: "zh"), +                 linebreak(), +                 numbering(numbering: "一", +                           numbers: (15)), +                 text(body: [ and ], +                      lang: "zh"), +                 numbering(numbering: "壹", +                           numbers: (15)), +                 text(body: [ for ], +                      lang: "zh"), +                 text(body: [15], lang: "zh"), +                 text(body: [ ], lang: "zh"), +                 linebreak(), +                 numbering(numbering: "一", +                           numbers: (17)), +                 text(body: [ and ], +                      lang: "zh"), +                 numbering(numbering: "壹", +                           numbers: (17)), +                 text(body: [ for ], +                      lang: "zh"), +                 text(body: [17], lang: "zh"), +                 text(body: [ ], lang: "zh"), +                 linebreak(), +                 numbering(numbering: "一", +                           numbers: (19)), +                 text(body: [ and ], +                      lang: "zh"), +                 numbering(numbering: "壹", +                           numbers: (19)), +                 text(body: [ for ], +                      lang: "zh"), +                 text(body: [19], lang: "zh"), +                 text(body: [ ], lang: "zh"), +                 linebreak(), +                 parbreak() })
+ test/typ/meta/numbering-04.out view
@@ -0,0 +1,257 @@+--- parse tree ---+[ Code+    "typ/meta/numbering-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/numbering-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/numbering-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/numbering-04.typ"+    ( line 2 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 0)) , NormalArg (Literal (Int 4)) ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "\12452"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block (Content [ Space , Text "(" , Text "or" , Space ])+             , FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "\12356"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block+                 (Content+                    [ Text ")"+                    , Space+                    , Text "for"+                    , Space+                    , Code+                        "typ/meta/numbering-04.typ"+                        ( line 6 , column 11 )+                        (Ident (Identifier "i"))+                    , Space+                    , HardBreak+                    ])+             ])))+, SoftBreak+, Ellipsis+, Space+, HardBreak+, Code+    "typ/meta/numbering-04.typ"+    ( line 9 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 47)) , NormalArg (Literal (Int 51)) ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "\12452"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block (Content [ Space , Text "(" , Text "or" , Space ])+             , FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "\12356"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block+                 (Content+                    [ Text ")"+                    , Space+                    , Text "for"+                    , Space+                    , Code+                        "typ/meta/numbering-04.typ"+                        ( line 13 , column 11 )+                        (Ident (Identifier "i"))+                    , Space+                    , HardBreak+                    ])+             ])))+, SoftBreak+, Ellipsis+, Space+, HardBreak+, Code+    "typ/meta/numbering-04.typ"+    ( line 16 , column 2 )+    (For+       (BasicBind (Just (Identifier "i")))+       (FuncCall+          (Ident (Identifier "range"))+          [ NormalArg (Literal (Int 2256))+          , NormalArg (Literal (Int 2260))+          ])+       (Block+          (CodeBlock+             [ FuncCall+                 (Ident (Identifier "numbering"))+                 [ NormalArg (Literal (String "\12452"))+                 , NormalArg (Ident (Identifier "i"))+                 ]+             , Block+                 (Content+                    [ Space+                    , Text "for"+                    , Space+                    , Code+                        "typ/meta/numbering-04.typ"+                        ( line 18 , column 10 )+                        (Ident (Identifier "i"))+                    , Space+                    , HardBreak+                    ])+             ])))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 numbering(numbering: "イ", +                           numbers: (0)), +                 text(body: [ (or ]), +                 numbering(numbering: "い", +                           numbers: (0)), +                 text(body: [) for ]), +                 text(body: [0]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (1)), +                 text(body: [ (or ]), +                 numbering(numbering: "い", +                           numbers: (1)), +                 text(body: [) for ]), +                 text(body: [1]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (2)), +                 text(body: [ (or ]), +                 numbering(numbering: "い", +                           numbers: (2)), +                 text(body: [) for ]), +                 text(body: [2]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (3)), +                 text(body: [ (or ]), +                 numbering(numbering: "い", +                           numbers: (3)), +                 text(body: [) for ]), +                 text(body: [3]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+… ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (47)), +                 text(body: [ (or ]), +                 numbering(numbering: "い", +                           numbers: (47)), +                 text(body: [) for ]), +                 text(body: [47]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (48)), +                 text(body: [ (or ]), +                 numbering(numbering: "い", +                           numbers: (48)), +                 text(body: [) for ]), +                 text(body: [48]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (49)), +                 text(body: [ (or ]), +                 numbering(numbering: "い", +                           numbers: (49)), +                 text(body: [) for ]), +                 text(body: [49]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (50)), +                 text(body: [ (or ]), +                 numbering(numbering: "い", +                           numbers: (50)), +                 text(body: [) for ]), +                 text(body: [50]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [+… ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (2256)), +                 text(body: [ for ]), +                 text(body: [2256]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (2257)), +                 text(body: [ for ]), +                 text(body: [2257]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (2258)), +                 text(body: [ for ]), +                 text(body: [2258]), +                 text(body: [ ]), +                 linebreak(), +                 numbering(numbering: "イ", +                           numbers: (2259)), +                 text(body: [ for ]), +                 text(body: [2259]), +                 text(body: [ ]), +                 linebreak(), +                 parbreak() })
+ test/typ/meta/numbering-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/outline-00.out view
@@ -0,0 +1,228 @@+--- parse tree ---+[ Code+    "typ/meta/outline-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/outline-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/outline-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/outline-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ NormalArg (Literal (String "a7"))+       , KeyValArg (Identifier "margin") (Literal (Numeric 20.0 Pt))+       , KeyValArg (Identifier "numbering") (Literal (String "1"))+       ])+, SoftBreak+, Code+    "typ/meta/outline-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "numbering") (Literal (String "(1/a)")) ])+, SoftBreak+, Code+    "typ/meta/outline-00.typ"+    ( line 4 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "heading")))+             [ KeyValArg (Identifier "level") (Literal (Int 1)) ]))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Literal (Numeric 12.0 Pt)) ]))+, SoftBreak+, Code+    "typ/meta/outline-00.typ"+    ( line 5 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "heading")))+             [ KeyValArg (Identifier "level") (Literal (Int 2)) ]))+       (Set+          (Ident (Identifier "text"))+          [ NormalArg (Literal (Numeric 10.0 Pt)) ]))+, ParBreak+, Code+    "typ/meta/outline-00.typ"+    ( line 7 , column 2 )+    (FuncCall (Ident (Identifier "outline")) [])+, ParBreak+, Heading 1 [ Text "Einleitung" ]+, Code+    "typ/meta/outline-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 12)) ])+, ParBreak+, Heading 1 [ Text "Analyse" ]+, Code+    "typ/meta/outline-00.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 10)) ])+, ParBreak+, Code+    "typ/meta/outline-00.typ"+    ( line 15 , column 2 )+    (Block+       (Content+          [ SoftBreak+          , Code+              "typ/meta/outline-00.typ"+              ( line 16 , column 4 )+              (Set+                 (Ident (Identifier "heading"))+                 [ KeyValArg (Identifier "outlined") (Literal (Boolean False)) ])+          , SoftBreak+          , Heading 2 [ Text "Methodik" ]+          , Code+              "typ/meta/outline-00.typ"+              ( line 18 , column 4 )+              (FuncCall+                 (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 6)) ])+          , ParBreak+          ]))+, ParBreak+, Heading 2 [ Text "Verarbeitung" ]+, Code+    "typ/meta/outline-00.typ"+    ( line 22 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 4)) ])+, ParBreak+, Heading 2 [ Text "Programmierung" ]+, RawBlock "rust" "fn main() {\n  panic!(\"in the disco\");\n}\n"+, ParBreak+, Heading 4 [ Text "Deep" , Space , Text "Stuff" ]+, Text "Ok"+, Space+, Ellipsis+, ParBreak+, Code+    "typ/meta/outline-00.typ"+    ( line 34 , column 2 )+    (Set+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "numbering") (Literal (String "(I)")) ])+, ParBreak+, Heading+    1+    [ Code+        "typ/meta/outline-00.typ"+        ( line 36 , column 4 )+        (FuncCall+           (Ident (Identifier "text"))+           [ NormalArg (Ident (Identifier "blue"))+           , BlockArg [ Text "Zusammen" ]+           ])+    , Text "fassung"+    ]+, Code+    "typ/meta/outline-00.typ"+    ( line 37 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 10)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 outline(), +                 parbreak(), +                 heading(body: text(body: [Einleitung]), +                         level: 1, +                         numbering: "(1/a)"), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor]), +                 parbreak(), +                 heading(body: text(body: [Analyse]), +                         level: 1, +                         numbering: "(1/a)"), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [+]), +                 heading(body: text(body: [Methodik]), +                         level: 2, +                         numbering: "(1/a)", +                         outlined: false), +                 text(body: [Lorem ipsum dolor sit amet, consectetur]), +                 parbreak(), +                 parbreak(), +                 heading(body: text(body: [Verarbeitung]), +                         level: 2, +                         numbering: "(1/a)", +                         outlined: false), +                 text(body: [Lorem ipsum dolor sit]), +                 parbreak(), +                 heading(body: text(body: [Programmierung]), +                         level: 2, +                         numbering: "(1/a)", +                         outlined: false), +                 raw(block: true, +                     lang: "rust", +                     text: "fn main() {\n  panic!(\"in the disco\");\n}\n"), +                 parbreak(), +                 heading(body: text(body: [Deep Stuff]), +                         level: 4, +                         numbering: "(1/a)", +                         outlined: false), +                 text(body: [Ok …]), +                 parbreak(), +                 parbreak(), +                 heading(body: { text(body: text(body: [Zusammen]), +                                      color: rgb(0%,45%,85%,100%)), +                                 text(body: [fassung]) }, +                         level: 1, +                         numbering: "(I)", +                         outlined: false), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do]), +                 parbreak() })
+ test/typ/meta/query-before-after-00.out view
@@ -0,0 +1,181 @@+--- parse tree ---+[ Code+    "typ/meta/query-before-after-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/query-before-after-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/query-before-after-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/query-before-after-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "paper") (Literal (String "a7"))+       , KeyValArg (Identifier "numbering") (Literal (String "1 / 1"))+       , KeyValArg+           (Identifier "margin")+           (Dict+              [ Reg ( Ident (Identifier "bottom") , Literal (Numeric 1.0 Cm) )+              , Reg ( Ident (Identifier "rest") , Literal (Numeric 0.5 Cm) )+              ])+       ])+, ParBreak+, Code+    "typ/meta/query-before-after-00.typ"+    ( line 8 , column 2 )+    (Show+       (Just+          (FuncCall+             (FieldAccess+                (Ident (Identifier "where")) (Ident (Identifier "heading")))+             [ KeyValArg (Identifier "level") (Literal (Int 1))+             , KeyValArg (Identifier "outlined") (Literal (Boolean True))+             ]))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (Content+                [ SoftBreak+                , Code+                    "typ/meta/query-before-after-00.typ"+                    ( line 9 , column 4 )+                    (Ident (Identifier "it"))+                , ParBreak+                , Code+                    "typ/meta/query-before-after-00.typ"+                    ( line 11 , column 4 )+                    (Set+                       (Ident (Identifier "text"))+                       [ KeyValArg (Identifier "size") (Literal (Numeric 12.0 Pt))+                       , KeyValArg (Identifier "weight") (Literal (String "regular"))+                       ])+                , SoftBreak+                , Code+                    "typ/meta/query-before-after-00.typ"+                    ( line 12 , column 4 )+                    (FuncCall+                       (Ident (Identifier "outline"))+                       [ KeyValArg+                           (Identifier "title") (Literal (String "Chapter outline"))+                       , KeyValArg (Identifier "indent") (Literal (Boolean True))+                       , KeyValArg+                           (Identifier "target")+                           (FuncCall+                              (FieldAccess+                                 (Ident (Identifier "before"))+                                 (FuncCall+                                    (FieldAccess+                                       (Ident (Identifier "after"))+                                       (FuncCall+                                          (FieldAccess+                                             (Ident (Identifier "or"))+                                             (FuncCall+                                                (FieldAccess+                                                   (Ident (Identifier "where"))+                                                   (Ident (Identifier "heading")))+                                                [ KeyValArg (Identifier "level") (Literal (Int 1))+                                                ]))+                                          [ NormalArg+                                              (FuncCall+                                                 (FieldAccess+                                                    (Ident (Identifier "where"))+                                                    (Ident (Identifier "heading")))+                                                 [ KeyValArg (Identifier "level") (Literal (Int 2))+                                                 ])+                                          ]))+                                    [ NormalArg+                                        (FuncCall+                                           (FieldAccess+                                              (Ident (Identifier "location"))+                                              (Ident (Identifier "it")))+                                           [])+                                    , KeyValArg (Identifier "inclusive") (Literal (Boolean True))+                                    ]))+                              [ NormalArg+                                  (FuncCall+                                     (FieldAccess+                                        (Ident (Identifier "after"))+                                        (FuncCall+                                           (FieldAccess+                                              (Ident (Identifier "where"))+                                              (Ident (Identifier "heading")))+                                           [ KeyValArg (Identifier "level") (Literal (Int 1))+                                           , KeyValArg+                                               (Identifier "outlined") (Literal (Boolean True))+                                           ]))+                                     [ NormalArg+                                         (FuncCall+                                            (FieldAccess+                                               (Ident (Identifier "location"))+                                               (Ident (Identifier "it")))+                                            [])+                                     , KeyValArg (Identifier "inclusive") (Literal (Boolean False))+                                     ])+                              , KeyValArg (Identifier "inclusive") (Literal (Boolean False))+                              ])+                       ])+                , ParBreak+                ]))))+, ParBreak+, Code+    "typ/meta/query-before-after-00.typ"+    ( line 28 , column 2 )+    (Set+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "outlined") (Literal (Boolean True))+       , KeyValArg (Identifier "numbering") (Literal (String "1."))+       ])+, ParBreak+, Heading 1 [ Text "Section" , Space , Text "1" ]+, Heading 2 [ Text "Subsection" , Space , Text "1" ]+, Heading 2 [ Text "Subsection" , Space , Text "2" ]+, Heading 3 [ Text "Subsubsection" , Space , Text "1" ]+, Heading 3 [ Text "Subsubsection" , Space , Text "2" ]+, Heading 2 [ Text "Subsection" , Space , Text "3" ]+, Heading 1 [ Text "Section" , Space , Text "2" ]+, Heading 2 [ Text "Subsection" , Space , Text "1" ]+, Heading 2 [ Text "Subsection" , Space , Text "2" ]+, Heading 1 [ Text "Section" , Space , Text "3" ]+, Heading 2 [ Text "Subsection" , Space , Text "1" ]+, Heading 2 [ Text "Subsection" , Space , Text "2" ]+, Heading 3 [ Text "Subsubsection" , Space , Text "1" ]+, Heading 3 [ Text "Subsubsection" , Space , Text "2" ]+, Heading 3 [ Text "Subsubsection" , Space , Text "3" ]+, Heading 2 [ Text "Subsection" , Space , Text "3" ]+]+"typ/meta/query-before-after-00.typ" (line 12, column 4):+Method "location" is not yet implemented or FieldAccess requires a dictionary
+ test/typ/meta/query-before-after-01.out view
@@ -0,0 +1,187 @@+--- parse tree ---+[ Code+    "typ/meta/query-before-after-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/query-before-after-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/query-before-after-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, ParBreak+, Code+    "typ/meta/query-before-after-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "paper") (Literal (String "a7"))+       , KeyValArg (Identifier "numbering") (Literal (String "1 / 1"))+       , KeyValArg+           (Identifier "margin")+           (Dict+              [ Reg ( Ident (Identifier "bottom") , Literal (Numeric 1.0 Cm) )+              , Reg ( Ident (Identifier "rest") , Literal (Numeric 0.5 Cm) )+              ])+       ])+, ParBreak+, Code+    "typ/meta/query-before-after-01.typ"+    ( line 9 , column 2 )+    (Set+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "outlined") (Literal (Boolean True))+       , KeyValArg (Identifier "numbering") (Literal (String "1."))+       ])+, ParBreak+, Comment+, Code+    "typ/meta/query-before-after-01.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "locate"))+       [ NormalArg+           (FuncExpr+              [ NormalParam (Identifier "loc") ]+              (Block+                 (Content+                    [ SoftBreak+                    , Text "Non"+                    , Text "-"+                    , Text "outlined"+                    , Space+                    , Text "elements"+                    , Text ":"+                    , SoftBreak+                    , Code+                        "typ/meta/query-before-after-01.typ"+                        ( line 14 , column 4 )+                        (FuncCall+                           (FieldAccess+                              (Ident (Identifier "join"))+                              (FuncCall+                                 (FieldAccess+                                    (Ident (Identifier "map"))+                                    (FuncCall+                                       (Ident (Identifier "query"))+                                       [ NormalArg+                                           (FuncCall+                                              (FieldAccess+                                                 (Ident (Identifier "and"))+                                                 (FuncCall+                                                    (Ident (Identifier "selector"))+                                                    [ NormalArg (Ident (Identifier "heading")) ]))+                                              [ NormalArg+                                                  (FuncCall+                                                     (FieldAccess+                                                        (Ident (Identifier "where"))+                                                        (Ident (Identifier "heading")))+                                                     [ KeyValArg+                                                         (Identifier "outlined")+                                                         (Literal (Boolean False))+                                                     ])+                                              ])+                                       , NormalArg (Ident (Identifier "loc"))+                                       ]))+                                 [ NormalArg+                                     (FuncExpr+                                        [ NormalParam (Identifier "it") ]+                                        (FieldAccess+                                           (Ident (Identifier "body")) (Ident (Identifier "it"))))+                                 ]))+                           [ NormalArg (Literal (String ", ")) ])+                    , ParBreak+                    ])))+       ])+, ParBreak+, Code+    "typ/meta/query-before-after-01.typ"+    ( line 18 , column 2 )+    (FuncCall+       (Ident (Identifier "heading"))+       [ NormalArg (Literal (String "A"))+       , KeyValArg (Identifier "outlined") (Literal (Boolean False))+       ])+, SoftBreak+, Code+    "typ/meta/query-before-after-01.typ"+    ( line 19 , column 2 )+    (FuncCall+       (Ident (Identifier "heading"))+       [ NormalArg (Literal (String "B"))+       , KeyValArg (Identifier "outlined") (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/meta/query-before-after-01.typ"+    ( line 20 , column 2 )+    (FuncCall+       (Ident (Identifier "heading"))+       [ NormalArg (Literal (String "C"))+       , KeyValArg (Identifier "outlined") (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/meta/query-before-after-01.typ"+    ( line 21 , column 2 )+    (FuncCall+       (Ident (Identifier "heading"))+       [ NormalArg (Literal (String "D"))+       , KeyValArg (Identifier "outlined") (Literal (Boolean False))+       ])+, ParBreak+]+--- evaluated ---+document(body: { parbreak(), +                 parbreak(), +                 parbreak(), +                 locate(func: ), +                 parbreak(), +                 heading(body: [A], +                         numbering: "1.", +                         outlined: false), +                 text(body: [+]), +                 heading(body: [B], +                         numbering: "1.", +                         outlined: true), +                 text(body: [+]), +                 heading(body: [C], +                         numbering: "1.", +                         outlined: true), +                 text(body: [+]), +                 heading(body: [D], +                         numbering: "1.", +                         outlined: false), +                 parbreak() })
+ test/typ/meta/query-figure-00.out view
@@ -0,0 +1,259 @@+--- parse tree ---+[ Code+    "typ/meta/query-figure-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/query-figure-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/query-figure-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/query-figure-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "paper") (Literal (String "a7"))+       , KeyValArg (Identifier "numbering") (Literal (String "1 / 1"))+       , KeyValArg+           (Identifier "margin")+           (Dict+              [ Reg ( Ident (Identifier "bottom") , Literal (Numeric 1.0 Cm) )+              , Reg ( Ident (Identifier "rest") , Literal (Numeric 0.5 Cm) )+              ])+       ])+, ParBreak+, Code+    "typ/meta/query-figure-00.typ"+    ( line 8 , column 2 )+    (Set+       (Ident (Identifier "figure"))+       [ KeyValArg (Identifier "numbering") (Literal (String "I")) ])+, SoftBreak+, Code+    "typ/meta/query-figure-00.typ"+    ( line 9 , column 2 )+    (Show+       (Just (Ident (Identifier "figure")))+       (Set+          (Ident (Identifier "image"))+          [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Percent))+          ]))+, ParBreak+, Heading+    1 [ Text "List" , Space , Text "of" , Space , Text "Figures" ]+, Code+    "typ/meta/query-figure-00.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "locate"))+       [ NormalArg+           (FuncExpr+              [ NormalParam (Identifier "it") ]+              (Block+                 (CodeBlock+                    [ Let+                        (BasicBind (Just (Identifier "elements")))+                        (FuncCall+                           (Ident (Identifier "query"))+                           [ NormalArg+                               (FuncCall+                                  (FieldAccess+                                     (Ident (Identifier "after"))+                                     (FuncCall+                                        (Ident (Identifier "selector"))+                                        [ NormalArg (Ident (Identifier "figure")) ]))+                                  [ NormalArg (Ident (Identifier "it")) ])+                           , NormalArg (Ident (Identifier "it"))+                           ])+                    , For+                        (BasicBind (Just (Identifier "it")))+                        (Ident (Identifier "elements"))+                        (Block+                           (Content+                              [ SoftBreak+                              , Text "Figure"+                              , SoftBreak+                              , Code+                                  "typ/meta/query-figure-00.typ"+                                  ( line 16 , column 6 )+                                  (FuncCall+                                     (Ident (Identifier "numbering"))+                                     [ NormalArg+                                         (FieldAccess+                                            (Ident (Identifier "numbering"))+                                            (Ident (Identifier "it")))+                                     , SpreadArg+                                         (FuncCall+                                            (FieldAccess+                                               (Ident (Identifier "at"))+                                               (FuncCall+                                                  (Ident (Identifier "counter"))+                                                  [ NormalArg (Ident (Identifier "figure")) ]))+                                            [ NormalArg+                                                (FuncCall+                                                   (FieldAccess+                                                      (Ident (Identifier "location"))+                                                      (Ident (Identifier "it")))+                                                   [])+                                            ])+                                     ])+                              , Text ":"+                              , SoftBreak+                              , Code+                                  "typ/meta/query-figure-00.typ"+                                  ( line 18 , column 6 )+                                  (FieldAccess+                                     (Ident (Identifier "caption")) (Ident (Identifier "it")))+                              , SoftBreak+                              , Code+                                  "typ/meta/query-figure-00.typ"+                                  ( line 19 , column 6 )+                                  (FuncCall+                                     (Ident (Identifier "box"))+                                     [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Fr))+                                     , NormalArg+                                         (FuncCall+                                            (Ident (Identifier "repeat")) [ BlockArg [ Text "." ] ])+                                     ])+                              , SoftBreak+                              , Code+                                  "typ/meta/query-figure-00.typ"+                                  ( line 20 , column 6 )+                                  (FuncCall+                                     (FieldAccess+                                        (Ident (Identifier "first"))+                                        (FuncCall+                                           (FieldAccess+                                              (Ident (Identifier "at"))+                                              (FuncCall+                                                 (Ident (Identifier "counter"))+                                                 [ NormalArg (Ident (Identifier "page")) ]))+                                           [ NormalArg+                                               (FuncCall+                                                  (FieldAccess+                                                     (Ident (Identifier "location"))+                                                     (Ident (Identifier "it")))+                                                  [])+                                           ]))+                                     [])+                              , Space+                              , HardBreak+                              ]))+                    ])))+       ])+, ParBreak+, Code+    "typ/meta/query-figure-00.typ"+    ( line 24 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/glacier.jpg")) ])+       , KeyValArg+           (Identifier "caption")+           (Block (Content [ Text "Glacier" , Space , Text "melting" ]))+       ])+, ParBreak+, Code+    "typ/meta/query-figure-00.typ"+    ( line 29 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ BlockArg+                  [ Text "Just"+                  , Space+                  , Text "some"+                  , Space+                  , Text "stand"+                  , Text "-"+                  , Text "in"+                  , Space+                  , Text "text"+                  ]+              ])+       , KeyValArg (Identifier "kind") (Ident (Identifier "image"))+       , KeyValArg (Identifier "supplement") (Literal (String "Figure"))+       , KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ Text "Stand" , Text "-" , Text "in" , Space , Text "text" ]))+       ])+, ParBreak+, Code+    "typ/meta/query-figure-00.typ"+    ( line 36 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg")) ])+       , KeyValArg+           (Identifier "caption")+           (Block (Content [ Text "Tiger" , Space , Text "world" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [List of Figures]), +                         level: 1), +                 locate(func: ), +                 parbreak(), +                 figure(body: image(path: "/assets/files/glacier.jpg"), +                        caption: text(body: [Glacier melting]), +                        numbering: "I"), +                 parbreak(), +                 figure(body: rect(body: text(body: [Just some stand-in text])), +                        caption: text(body: [Stand-in text]), +                        kind: , +                        numbering: "I", +                        supplement: "Figure"), +                 parbreak(), +                 figure(body: image(path: "/assets/files/tiger.jpg"), +                        caption: text(body: [Tiger world]), +                        numbering: "I"), +                 parbreak() })
+ test/typ/meta/query-header-00.out view
@@ -0,0 +1,192 @@+--- parse tree ---+[ Code+    "typ/meta/query-header-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/query-header-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/query-header-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/query-header-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "paper") (Literal (String "a7"))+       , KeyValArg+           (Identifier "margin")+           (Dict+              [ Reg ( Ident (Identifier "y") , Literal (Numeric 1.0 Cm) )+              , Reg ( Ident (Identifier "x") , Literal (Numeric 0.5 Cm) )+              ])+       , KeyValArg+           (Identifier "header")+           (Block+              (CodeBlock+                 [ FuncCall+                     (Ident (Identifier "smallcaps"))+                     [ BlockArg [ Text "Typst" , Space , Text "Academy" ] ]+                 , FuncCall+                     (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 1.0 Fr)) ]+                 , FuncCall+                     (Ident (Identifier "locate"))+                     [ NormalArg+                         (FuncExpr+                            [ NormalParam (Identifier "it") ]+                            (Block+                               (CodeBlock+                                  [ Let+                                      (BasicBind (Just (Identifier "after")))+                                      (FuncCall+                                         (Ident (Identifier "query"))+                                         [ NormalArg+                                             (FuncCall+                                                (FieldAccess+                                                   (Ident (Identifier "after"))+                                                   (FuncCall+                                                      (Ident (Identifier "selector"))+                                                      [ NormalArg (Ident (Identifier "heading")) ]))+                                                [ NormalArg (Ident (Identifier "it")) ])+                                         , NormalArg (Ident (Identifier "it"))+                                         ])+                                  , Let+                                      (BasicBind (Just (Identifier "before")))+                                      (FuncCall+                                         (Ident (Identifier "query"))+                                         [ NormalArg+                                             (FuncCall+                                                (FieldAccess+                                                   (Ident (Identifier "before"))+                                                   (FuncCall+                                                      (Ident (Identifier "selector"))+                                                      [ NormalArg (Ident (Identifier "heading")) ]))+                                                [ NormalArg (Ident (Identifier "it")) ])+                                         , NormalArg (Ident (Identifier "it"))+                                         ])+                                  , Let+                                      (BasicBind (Just (Identifier "elem")))+                                      (If+                                         [ ( Not+                                               (Equals+                                                  (FuncCall+                                                     (FieldAccess+                                                        (Ident (Identifier "len"))+                                                        (Ident (Identifier "before")))+                                                     [])+                                                  (Literal (Int 0)))+                                           , Block+                                               (CodeBlock+                                                  [ FuncCall+                                                      (FieldAccess+                                                         (Ident (Identifier "last"))+                                                         (Ident (Identifier "before")))+                                                      []+                                                  ])+                                           )+                                         , ( Not+                                               (Equals+                                                  (FuncCall+                                                     (FieldAccess+                                                        (Ident (Identifier "len"))+                                                        (Ident (Identifier "after")))+                                                     [])+                                                  (Literal (Int 0)))+                                           , Block+                                               (CodeBlock+                                                  [ FuncCall+                                                      (FieldAccess+                                                         (Ident (Identifier "first"))+                                                         (Ident (Identifier "after")))+                                                      []+                                                  ])+                                           )+                                         ])+                                  , FuncCall+                                      (Ident (Identifier "emph"))+                                      [ NormalArg+                                          (FieldAccess+                                             (Ident (Identifier "body"))+                                             (Ident (Identifier "elem")))+                                      ]+                                  ])))+                     ]+                 ]))+       ])+, ParBreak+, Code+    "typ/meta/query-header-00.typ"+    ( line 21 , column 2 )+    (FuncCall (Ident (Identifier "outline")) [])+, ParBreak+, Heading 1 [ Text "Introduction" ]+, Code+    "typ/meta/query-header-00.typ"+    ( line 24 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 35)) ])+, ParBreak+, Heading 1 [ Text "Background" ]+, Code+    "typ/meta/query-header-00.typ"+    ( line 27 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 35)) ])+, ParBreak+, Heading 1 [ Text "Approach" ]+, Code+    "typ/meta/query-header-00.typ"+    ( line 30 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 60)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 outline(), +                 parbreak(), +                 heading(body: text(body: [Introduction]), +                         level: 1), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo]), +                 parbreak(), +                 heading(body: text(body: [Background]), +                         level: 1), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo]), +                 parbreak(), +                 heading(body: text(body: [Approach]), +                         level: 1), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in]), +                 parbreak() })
+ test/typ/meta/ref-00.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/meta/ref-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/ref-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/ref-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/ref-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "heading"))+       [ KeyValArg (Identifier "numbering") (Literal (String "1.")) ])+, ParBreak+, Heading 1 [ Text "Introduction" ]+, Code "typ/meta/ref-00.typ" ( line 4 , column 16 ) (Label "intro")+, SoftBreak+, Text "See"+, Space+, Ref "setup" (Literal Auto)+, Text "."+, ParBreak+, Heading 2 [ Text "Setup" ]+, Code "typ/meta/ref-00.typ" ( line 7 , column 10 ) (Label "setup")+, SoftBreak+, Text "As"+, Space+, Text "seen"+, Space+, Text "in"+, Space+, Ref "intro" (Literal Auto)+, Text ","+, Space+, Text "we"+, Space+, Text "proceed"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 heading(body: text(body: [Introduction]), +                         level: 1, +                         numbering: "1."), +                 <intro>, +                 text(body: [+See ]), +                 ref(supplement: auto, +                     target: <setup>), +                 text(body: [.]), +                 parbreak(), +                 heading(body: text(body: [Setup]), +                         level: 2, +                         numbering: "1."), +                 <setup>, +                 text(body: [+As seen in ]), +                 ref(supplement: auto, +                     target: <intro>), +                 text(body: [, we proceed.]), +                 parbreak() })
+ test/typ/meta/ref-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/ref-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/meta/ref-03.out view
@@ -0,0 +1,166 @@+--- parse tree ---+[ Code+    "typ/meta/ref-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/ref-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/ref-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, ParBreak+, Code+    "typ/meta/ref-03.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "ref")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (CodeBlock+                [ If+                    [ ( And+                          (Not+                             (Equals+                                (FieldAccess+                                   (Ident (Identifier "element")) (Ident (Identifier "it")))+                                (Literal None)))+                          (Equals+                             (FuncCall+                                (FieldAccess+                                   (Ident (Identifier "func"))+                                   (FieldAccess+                                      (Ident (Identifier "element")) (Ident (Identifier "it"))))+                                [])+                             (Ident (Identifier "figure")))+                      , Block+                          (CodeBlock+                             [ Let+                                 (BasicBind (Just (Identifier "element")))+                                 (FieldAccess+                                    (Ident (Identifier "element")) (Ident (Identifier "it")))+                             , Literal (String "[")+                             , FieldAccess+                                 (Ident (Identifier "supplement")) (Ident (Identifier "element"))+                             , Literal (String "-")+                             , FuncCall+                                 (Ident (Identifier "str"))+                                 [ NormalArg+                                     (FuncCall+                                        (FieldAccess+                                           (Ident (Identifier "at"))+                                           (FuncCall+                                              (FieldAccess+                                                 (Ident (Identifier "at"))+                                                 (FieldAccess+                                                    (Ident (Identifier "counter"))+                                                    (Ident (Identifier "element"))))+                                              [ NormalArg+                                                  (FuncCall+                                                     (FieldAccess+                                                        (Ident (Identifier "location"))+                                                        (Ident (Identifier "element")))+                                                     [])+                                              ]))+                                        [ NormalArg (Literal (Int 0)) ])+                                 ]+                             , Literal (String "]")+                             ])+                      )+                    , ( Literal (Boolean True)+                      , Block (CodeBlock [ Ident (Identifier "it") ])+                      )+                    ]+                ]))))+, ParBreak+, Code+    "typ/meta/ref-03.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/cylinder.svg"))+              , KeyValArg (Identifier "height") (Literal (Numeric 3.0 Cm))+              ])+       , KeyValArg+           (Identifier "caption")+           (Block (Content [ Text "A" , Space , Text "sylinder" , Text "." ]))+       , KeyValArg (Identifier "supplement") (Literal (String "Fig"))+       ])+, Space+, Code "typ/meta/ref-03.typ" ( line 21 , column 3 ) (Label "fig1")+, ParBreak+, Code+    "typ/meta/ref-03.typ"+    ( line 23 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))+              , KeyValArg (Identifier "height") (Literal (Numeric 3.0 Cm))+              ])+       , KeyValArg+           (Identifier "caption")+           (Block (Content [ Text "A" , Space , Text "tiger" , Text "." ]))+       , KeyValArg (Identifier "supplement") (Literal (String "Figg"))+       ])+, Space+, Code "typ/meta/ref-03.typ" ( line 27 , column 3 ) (Label "fig2")+, ParBreak+, Code+    "typ/meta/ref-03.typ"+    ( line 29 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (Block+              (Content [ Equation True [ Text "A" , Text "=" , Text "1" ] ]))+       , KeyValArg (Identifier "kind") (Literal (String "equation"))+       , KeyValArg (Identifier "supplement") (Literal (String "Equa"))+       ])+, Space+, Code "typ/meta/ref-03.typ" ( line 34 , column 3 ) (Label "eq1")+, SoftBreak+, Ref "fig1" (Literal Auto)+, ParBreak+, Ref "fig2" (Literal Auto)+, ParBreak+, Ref "eq1" (Literal Auto)+, ParBreak+]+"typ/meta/ref-03.typ" (line 34, column 3):+Content does not have a method "element" or FieldAccess requires a dictionary
+ test/typ/meta/ref-04.out view
@@ -0,0 +1,157 @@+--- parse tree ---+[ Code+    "typ/meta/ref-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/ref-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/ref-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/ref-04.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "heading"))+       [ KeyValArg+           (Identifier "numbering")+           (FuncExpr+              [ SinkParam (Just (Identifier "nums")) ]+              (Block+                 (CodeBlock+                    [ FuncCall+                        (FieldAccess+                           (Ident (Identifier "join"))+                           (FuncCall+                              (FieldAccess+                                 (Ident (Identifier "map"))+                                 (FuncCall+                                    (FieldAccess+                                       (Ident (Identifier "pos")) (Ident (Identifier "nums")))+                                    []))+                              [ NormalArg (Ident (Identifier "str")) ]))+                        [ NormalArg (Literal (String ".")) ]+                    ])))+       , KeyValArg+           (Identifier "supplement") (Block (Content [ Text "Chapt" ]))+       ])+, ParBreak+, Code+    "typ/meta/ref-04.typ"+    ( line 6 , column 2 )+    (Show+       (Just (Ident (Identifier "ref")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (CodeBlock+                [ If+                    [ ( And+                          (Not+                             (Equals+                                (FieldAccess+                                   (Ident (Identifier "element")) (Ident (Identifier "it")))+                                (Literal None)))+                          (Equals+                             (FuncCall+                                (FieldAccess+                                   (Ident (Identifier "func"))+                                   (FieldAccess+                                      (Ident (Identifier "element")) (Ident (Identifier "it"))))+                                [])+                             (Ident (Identifier "heading")))+                      , Block+                          (CodeBlock+                             [ Let+                                 (BasicBind (Just (Identifier "element")))+                                 (FieldAccess+                                    (Ident (Identifier "element")) (Ident (Identifier "it")))+                             , Literal (String "[")+                             , FuncCall+                                 (Ident (Identifier "emph"))+                                 [ NormalArg+                                     (FieldAccess+                                        (Ident (Identifier "supplement"))+                                        (Ident (Identifier "element")))+                                 ]+                             , Literal (String "-")+                             , FuncCall+                                 (Ident (Identifier "numbering"))+                                 [ NormalArg+                                     (FieldAccess+                                        (Ident (Identifier "numbering"))+                                        (Ident (Identifier "element")))+                                 , SpreadArg+                                     (FuncCall+                                        (FieldAccess+                                           (Ident (Identifier "at"))+                                           (FuncCall+                                              (Ident (Identifier "counter"))+                                              [ NormalArg (Ident (Identifier "heading")) ]))+                                        [ NormalArg+                                            (FuncCall+                                               (FieldAccess+                                                  (Ident (Identifier "location"))+                                                  (Ident (Identifier "element")))+                                               [])+                                        ])+                                 ]+                             , Literal (String "]")+                             ])+                      )+                    , ( Literal (Boolean True)+                      , Block (CodeBlock [ Ident (Identifier "it") ])+                      )+                    ]+                ]))))+, ParBreak+, Heading 1 [ Text "Introduction" ]+, Code+    "typ/meta/ref-04.typ" ( line 19 , column 16 ) (Label "intro")+, ParBreak+, Heading 1 [ Text "Summary" ]+, Code "typ/meta/ref-04.typ" ( line 21 , column 11 ) (Label "sum")+, ParBreak+, Heading 2 [ Text "Subsection" ]+, Code "typ/meta/ref-04.typ" ( line 23 , column 15 ) (Label "sub")+, ParBreak+, Ref "intro" (Literal Auto)+, ParBreak+, Ref "sum" (Literal Auto)+, ParBreak+, Ref "sub" (Literal Auto)+, ParBreak+]+"typ/meta/ref-04.typ" (line 23, column 15):+Content does not have a method "element" or FieldAccess requires a dictionary
+ test/typ/meta/ref-05.out view
@@ -0,0 +1,147 @@+--- parse tree ---+[ Code+    "typ/meta/ref-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/ref-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/ref-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, ParBreak+, Code+    "typ/meta/ref-05.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "ref")))+       (FuncExpr+          [ NormalParam (Identifier "it") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Not+                          (Equals+                             (FieldAccess+                                (Ident (Identifier "element")) (Ident (Identifier "it")))+                             (Literal None))+                      , Block+                          (CodeBlock+                             [ If+                                 [ ( Equals+                                       (FuncCall+                                          (FieldAccess+                                             (Ident (Identifier "func"))+                                             (FieldAccess+                                                (Ident (Identifier "element"))+                                                (Ident (Identifier "it"))))+                                          [])+                                       (Ident (Identifier "text"))+                                   , Block+                                       (CodeBlock+                                          [ Let+                                              (BasicBind (Just (Identifier "element")))+                                              (FieldAccess+                                                 (Ident (Identifier "element"))+                                                 (Ident (Identifier "it")))+                                          , Literal (String "[")+                                          , Ident (Identifier "element")+                                          , Literal (String "]")+                                          ])+                                   )+                                 , ( Equals+                                       (FuncCall+                                          (FieldAccess+                                             (Ident (Identifier "func"))+                                             (FieldAccess+                                                (Ident (Identifier "element"))+                                                (Ident (Identifier "it"))))+                                          [])+                                       (Ident (Identifier "underline"))+                                   , Block+                                       (CodeBlock+                                          [ Let+                                              (BasicBind (Just (Identifier "element")))+                                              (FieldAccess+                                                 (Ident (Identifier "element"))+                                                 (Ident (Identifier "it")))+                                          , Literal (String "{")+                                          , Ident (Identifier "element")+                                          , Literal (String "}")+                                          ])+                                   )+                                 , ( Literal (Boolean True)+                                   , Block (CodeBlock [ Ident (Identifier "it") ])+                                   )+                                 ]+                             ])+                      )+                    , ( Literal (Boolean True)+                      , Block (CodeBlock [ Ident (Identifier "it") ])+                      )+                    ]+                ]))))+, ParBreak+, Ref "txt" (Literal Auto)+, ParBreak+, Text "Ref"+, Space+, Text "something"+, Space+, Text "unreferable"+, Space+, Code "typ/meta/ref-05.typ" ( line 25 , column 27 ) (Label "txt")+, ParBreak+, Ref "under" (Literal Auto)+, SoftBreak+, Code+    "typ/meta/ref-05.typ"+    ( line 28 , column 2 )+    (FuncCall+       (Ident (Identifier "underline"))+       [ BlockArg+           [ SoftBreak+           , Text "Some"+           , Space+           , Text "underline"+           , Space+           , Text "text"+           , Text "."+           , ParBreak+           ]+       ])+, Space+, Code "typ/meta/ref-05.typ" ( line 30 , column 3 ) (Label "under")+, ParBreak+]+"typ/meta/ref-05.typ" (line 3, column 2):+Content does not have a method "element" or FieldAccess requires a dictionary
+ test/typ/meta/state-00.out view
@@ -0,0 +1,139 @@+--- parse tree ---+[ Code+    "typ/meta/state-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/state-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/state-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/state-00.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "s")))+       (FuncCall+          (Ident (Identifier "state"))+          [ NormalArg (Literal (String "hey"))+          , NormalArg (Literal (String "a"))+          ]))+, SoftBreak+, Code+    "typ/meta/state-00.typ"+    ( line 3 , column 2 )+    (LetFunc+       (Identifier "double")+       [ NormalParam (Identifier "it") ]+       (Times (Literal (Int 2)) (Ident (Identifier "it"))))+, ParBreak+, Code+    "typ/meta/state-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "update")) (Ident (Identifier "s")))+       [ NormalArg (Ident (Identifier "double")) ])+, SoftBreak+, Code+    "typ/meta/state-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "update")) (Ident (Identifier "s")))+       [ NormalArg (Ident (Identifier "double")) ])+, SoftBreak+, Equation True [ Text "2" , Text "+" , Text "3" ]+, SoftBreak+, Code+    "typ/meta/state-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "update")) (Ident (Identifier "s")))+       [ NormalArg (Ident (Identifier "double")) ])+, ParBreak+, Text "Is"+, Text ":"+, Space+, Code+    "typ/meta/state-00.typ"+    ( line 10 , column 6 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "display")) (Ident (Identifier "s")))+       [])+, Text ","+, SoftBreak+, Text "Was"+, Text ":"+, Space+, Code+    "typ/meta/state-00.typ"+    ( line 11 , column 7 )+    (FuncCall+       (Ident (Identifier "locate"))+       [ NormalArg+           (FuncExpr+              [ NormalParam (Identifier "location") ]+              (Block+                 (CodeBlock+                    [ Let+                        (BasicBind (Just (Identifier "it")))+                        (FuncCall+                           (FieldAccess+                              (Ident (Identifier "first"))+                              (FuncCall+                                 (Ident (Identifier "query"))+                                 [ NormalArg+                                     (FieldAccess+                                        (Ident (Identifier "equation")) (Ident (Identifier "math")))+                                 , NormalArg (Ident (Identifier "location"))+                                 ]))+                           [])+                    , FuncCall+                        (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "s")))+                        [ NormalArg+                            (FuncCall+                               (FieldAccess+                                  (Ident (Identifier "location")) (Ident (Identifier "it")))+                               [])+                        ]+                    ])))+       ])+, Text "."+, ParBreak+]+"typ/meta/state-00.typ" (line 5, column 2):+Content does not have a method "update" or FieldAccess requires a dictionary
+ test/typ/meta/state-01.out view
@@ -0,0 +1,216 @@+--- parse tree ---+[ Code+    "typ/meta/state-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/meta/state-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/meta/state-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/meta/state-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt)) ])+, SoftBreak+, Code+    "typ/meta/state-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 8.0 Pt)) ])+, ParBreak+, Code+    "typ/meta/state-01.typ"+    ( line 5 , column 2 )+    (Let+       (BasicBind (Just (Identifier "ls")))+       (FuncCall+          (Ident (Identifier "state"))+          [ NormalArg (Literal (String "lorem"))+          , NormalArg+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "split"))+                    (FuncCall+                       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 1000)) ]))+                 [ NormalArg (Literal (String ".")) ])+          ]))+, SoftBreak+, Code+    "typ/meta/state-01.typ"+    ( line 6 , column 2 )+    (LetFunc+       (Identifier "loremum")+       [ NormalParam (Identifier "count") ]+       (Block+          (CodeBlock+             [ FuncCall+                 (FieldAccess+                    (Ident (Identifier "display")) (Ident (Identifier "ls")))+                 [ NormalArg+                     (FuncExpr+                        [ NormalParam (Identifier "list") ]+                        (Plus+                           (FuncCall+                              (FieldAccess+                                 (Ident (Identifier "trim"))+                                 (FuncCall+                                    (FieldAccess+                                       (Ident (Identifier "join"))+                                       (FuncCall+                                          (FieldAccess+                                             (Ident (Identifier "slice"))+                                             (Ident (Identifier "list")))+                                          [ NormalArg (Literal (Int 0))+                                          , NormalArg (Ident (Identifier "count"))+                                          ]))+                                    [ NormalArg (Literal (String ".")) ]))+                              [])+                           (Literal (String "."))))+                 ]+             , FuncCall+                 (FieldAccess+                    (Ident (Identifier "update")) (Ident (Identifier "ls")))+                 [ NormalArg+                     (FuncExpr+                        [ NormalParam (Identifier "list") ]+                        (FuncCall+                           (FieldAccess+                              (Ident (Identifier "slice")) (Ident (Identifier "list")))+                           [ NormalArg (Ident (Identifier "count")) ]))+                 ]+             ])))+, ParBreak+, Code+    "typ/meta/state-01.typ"+    ( line 11 , column 2 )+    (Let+       (BasicBind (Just (Identifier "fs")))+       (FuncCall+          (Ident (Identifier "state"))+          [ NormalArg (Literal (String "fader"))+          , NormalArg (Ident (Identifier "red"))+          ]))+, SoftBreak+, Code+    "typ/meta/state-01.typ"+    ( line 12 , column 2 )+    (LetFunc+       (Identifier "trait")+       [ NormalParam (Identifier "title") ]+       (FuncCall+          (Ident (Identifier "block"))+          [ BlockArg+              [ SoftBreak+              , Code+                  "typ/meta/state-01.typ"+                  ( line 13 , column 4 )+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "display")) (Ident (Identifier "fs")))+                     [ NormalArg+                         (FuncExpr+                            [ NormalParam (Identifier "color") ]+                            (FuncCall+                               (Ident (Identifier "text"))+                               [ KeyValArg (Identifier "fill") (Ident (Identifier "color"))+                               , BlockArg+                                   [ SoftBreak+                                   , Strong+                                       [ Code+                                           "typ/meta/state-01.typ"+                                           ( line 14 , column 7 )+                                           (Ident (Identifier "title"))+                                       , Text ":"+                                       ]+                                   , Space+                                   , Code+                                       "typ/meta/state-01.typ"+                                       ( line 14 , column 16 )+                                       (FuncCall+                                          (Ident (Identifier "loremum"))+                                          [ NormalArg (Literal (Int 1)) ])+                                   , ParBreak+                                   ]+                               ]))+                     ])+              , SoftBreak+              , Code+                  "typ/meta/state-01.typ"+                  ( line 16 , column 4 )+                  (FuncCall+                     (FieldAccess+                        (Ident (Identifier "update")) (Ident (Identifier "fs")))+                     [ NormalArg+                         (FuncExpr+                            [ NormalParam (Identifier "color") ]+                            (FuncCall+                               (FieldAccess+                                  (Ident (Identifier "lighten")) (Ident (Identifier "color")))+                               [ NormalArg (Literal (Numeric 30.0 Percent)) ]))+                     ])+              , ParBreak+              ]+          ]))+, ParBreak+, Code+    "typ/meta/state-01.typ"+    ( line 19 , column 2 )+    (FuncCall+       (Ident (Identifier "trait")) [ BlockArg [ Text "Boldness" ] ])+, SoftBreak+, Code+    "typ/meta/state-01.typ"+    ( line 20 , column 2 )+    (FuncCall+       (Ident (Identifier "trait")) [ BlockArg [ Text "Adventure" ] ])+, SoftBreak+, Code+    "typ/meta/state-01.typ"+    ( line 21 , column 2 )+    (FuncCall+       (Ident (Identifier "trait")) [ BlockArg [ Text "Fear" ] ])+, SoftBreak+, Code+    "typ/meta/state-01.typ"+    ( line 22 , column 2 )+    (FuncCall+       (Ident (Identifier "trait")) [ BlockArg [ Text "Anger" ] ])+, ParBreak+]+"typ/meta/state-01.typ" (line 13, column 4):+Content does not have a method "display" or FieldAccess requires a dictionary
+ test/typ/regression/addons/example.out view
@@ -0,0 +1,55 @@+--- parse tree ---+[ Code+    "typ/regression/addons/example.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/addons/example.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/addons/example.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/addons/example.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "utf8string")))+       (FuncCall+          (Ident (Identifier "read"))+          [ NormalArg (Literal (String "../something.txt")) ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak() })
+ test/typ/regression/issue1.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/regression/issue1.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue1.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue1.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue1.typ"+    ( line 2 , column 2 )+    (LetFunc+       (Identifier "foo")+       [ NormalParam (Identifier "x") ]+       (Block+          (CodeBlock+             [ Return+                 (Just+                    (Array [ Spr (Ident (Identifier "x")) , Reg (Literal (Int 5)) ]))+             ])))+, SoftBreak+, Code+    "typ/regression/issue1.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "foo"))+       [ NormalArg+           (Array [ Reg (Literal (Int 3)) , Reg (Literal (Int 4)) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [(3, 4, 5)]), +                 parbreak() })
+ test/typ/regression/issue12.out view
@@ -0,0 +1,61 @@+--- parse tree ---+[ Code+    "typ/regression/issue12.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue12.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue12.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Text "he"+, Quote '\''+, Strong [ Text "llo" , Space , Text "World" ]+, ParBreak+, Text "l\8217"+, Strong [ Text "exactitude" ]+, ParBreak+, Text "a*b_c_e"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+he’]), +                 strong(body: text(body: [llo World])), +                 parbreak(), +                 text(body: [l’]), +                 strong(body: text(body: [exactitude])), +                 parbreak(), +                 text(body: [a*b_c_e]), +                 parbreak() })
+ test/typ/regression/issue15.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/regression/issue15.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue15.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue15.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    False+    [ Code+        "typ/regression/issue15.typ"+        ( line 2 , column 2 )+        (Ident (Identifier "dots"))+    ]+, SoftBreak+, Equation+    False+    [ Code+        "typ/regression/issue15.typ"+        ( line 3 , column 2 )+        (FieldAccess (Ident (Identifier "l")) (Ident (Identifier "quote")))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: text(body: […]), +                               numbering: none), +                 text(body: [+]), +                 math.equation(block: false, +                               body: text(body: [“]), +                               numbering: none), +                 parbreak() })
+ test/typ/regression/issue17.out view
@@ -0,0 +1,223 @@+--- parse tree ---+[ Code+    "typ/regression/issue17.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue17.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue17.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    False+    [ MAttach+        Nothing+        (Just (MGroup Nothing Nothing [ Text "b" ]))+        (MGroup+           Nothing+           Nothing+           [ Text "n" , MGroup (Just "(") (Just ")") [ Text "a" ] ])+    ]+, ParBreak+, Equation+    False+    [ MAttach (Just (Text "1")) Nothing (Text "a")+    , MGroup (Just "(") (Just ")") [ Text "x" ]+    ]+, ParBreak+, Equation+    False+    [ MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]))+        Nothing+        (Text "a")+    ]+, ParBreak+, Equation+    False+    [ MAttach+        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))+        (Just (Text "3"))+        (Code+           "typ/regression/issue17.typ"+           ( line 8 , column 2 )+           (Ident (Identifier "sum")))+    ]+, ParBreak+, Equation+    False+    [ MAttach+        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))+        (Just (Text "3"))+        (Code+           "typ/regression/issue17.typ"+           ( line 10 , column 2 )+           (Ident (Identifier "sum")))+    ]+, ParBreak+, Equation+    False+    [ MAttach+        (Just (Text "3"))+        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))+        (Code+           "typ/regression/issue17.typ"+           ( line 12 , column 2 )+           (Ident (Identifier "sum")))+    ]+, ParBreak+, Equation+    False+    [ MAttach+        (Just (Text "3"))+        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))+        (Code+           "typ/regression/issue17.typ"+           ( line 14 , column 2 )+           (Ident (Identifier "sum")))+    ]+, ParBreak+, Equation+    False+    [ MAttach+        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))+        (Just+           (Code+              "typ/regression/issue17.typ"+              ( line 16 , column 12 )+              (Ident (Identifier "pi"))))+        (Code+           "typ/regression/issue17.typ"+           ( line 16 , column 2 )+           (Ident (Identifier "sum")))+    ]+, ParBreak+, Equation+    False+    [ MAttach+        (Just (MGroup Nothing Nothing [ Text "j" , Text "=" , Text "0" ]))+        (Just+           (Code+              "typ/regression/issue17.typ"+              ( line 18 , column 6 )+              (Ident (Identifier "pi"))))+        (Code+           "typ/regression/issue17.typ"+           ( line 18 , column 2 )+           (Ident (Identifier "sum")))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: math.attach(b: none, +                                                 base: { text(body: [n]), +                                                         math.lr(body: ({ [(], +                                                                          text(body: [a]), +                                                                          [)] })) }, +                                                 t: text(body: [b])), +                               numbering: none), +                 parbreak(), +                 math.equation(block: false, +                               body: { math.attach(b: text(body: [1]), +                                                   base: text(body: [a]), +                                                   t: none), +                                       math.lr(body: ({ [(], +                                                        text(body: [x]), +                                                        [)] })) }, +                               numbering: none), +                 parbreak(), +                 math.equation(block: false, +                               body: math.attach(b: { text(body: [f]), +                                                      math.lr(body: ({ [(], +                                                                       text(body: [x]), +                                                                       [)] })) }, +                                                 base: text(body: [a]), +                                                 t: none), +                               numbering: none), +                 parbreak(), +                 math.equation(block: false, +                               body: math.attach(b: { text(body: [j]), +                                                      text(body: [=]), +                                                      text(body: [0]) }, +                                                 base: text(body: [∑]), +                                                 t: text(body: [3])), +                               numbering: none), +                 parbreak(), +                 math.equation(block: false, +                               body: math.attach(b: { text(body: [j]), +                                                      text(body: [=]), +                                                      text(body: [0]) }, +                                                 base: text(body: [∑]), +                                                 t: text(body: [3])), +                               numbering: none), +                 parbreak(), +                 math.equation(block: false, +                               body: math.attach(b: text(body: [3]), +                                                 base: text(body: [∑]), +                                                 t: { text(body: [j]), +                                                      text(body: [=]), +                                                      text(body: [0]) }), +                               numbering: none), +                 parbreak(), +                 math.equation(block: false, +                               body: math.attach(b: text(body: [3]), +                                                 base: text(body: [∑]), +                                                 t: { text(body: [j]), +                                                      text(body: [=]), +                                                      text(body: [0]) }), +                               numbering: none), +                 parbreak(), +                 math.equation(block: false, +                               body: math.attach(b: { text(body: [j]), +                                                      text(body: [=]), +                                                      text(body: [0]) }, +                                                 base: text(body: [∑]), +                                                 t: text(body: [π])), +                               numbering: none), +                 parbreak(), +                 math.equation(block: false, +                               body: math.attach(b: { text(body: [j]), +                                                      text(body: [=]), +                                                      text(body: [0]) }, +                                                 base: text(body: [∑]), +                                                 t: text(body: [π])), +                               numbering: none), +                 parbreak() })
+ test/typ/regression/issue19.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/regression/issue19.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue19.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue19.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue19.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "nums")))+       (Array+          [ Reg (Literal (Int 1))+          , Reg (Literal None)+          , Reg (Literal (Int 2))+          ]))+, SoftBreak+, Code+    "typ/regression/issue19.typ"+    ( line 3 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "map")) (Ident (Identifier "nums")))+       [ NormalArg+           (FuncExpr+              [ NormalParam (Identifier "num") ]+              (Block+                 (CodeBlock+                    [ If+                        [ ( Equals (Ident (Identifier "num")) (Literal None)+                          , Block (CodeBlock [ Return (Just (Literal (Int 1))) ])+                          )+                        ]+                    , Return+                        (Just+                           (Dict+                              [ Reg+                                  ( FuncCall+                                      (Ident (Identifier "str"))+                                      [ NormalArg (Ident (Identifier "num")) ]+                                  , Literal (Int 1)+                                  )+                              ]))+                    ])))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [((1: 1), 1, (2: 1))]), +                 parbreak() })
+ test/typ/regression/issue2.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/regression/issue2.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue2.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue2.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    False+    [ Code+        "typ/regression/issue2.typ"+        ( line 2 , column 2 )+        (FuncCall+           (Ident (Identifier "lr"))+           [ BlockArg+               [ Code+                   "typ/regression/issue2.typ"+                   ( line 2 , column 6 )+                   (FieldAccess+                      (Ident (Identifier "alpha")) (Ident (Identifier "sym")))+               , Code+                   "typ/regression/issue2.typ"+                   ( line 2 , column 16 )+                   (FieldAccess+                      (Ident (Identifier "beta")) (Ident (Identifier "sym")))+               ]+           ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: math.lr(body: ({ text(body: [α]), +                                                      text(body: [β]) })), +                               numbering: none), +                 parbreak() })
+ test/typ/regression/issue20.out view
@@ -0,0 +1,63 @@+--- parse tree ---+[ Code+    "typ/regression/issue20.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue20.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue20.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue20.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "a")))+       (Literal (String "\nThis is a\nmultiline string\n")))+, SoftBreak+, Code+    "typ/regression/issue20.typ"+    ( line 6 , column 2 )+    (FuncCall+       (FieldAccess (Ident (Identifier "len")) (Ident (Identifier "a")))+       [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [28]), +                 parbreak() })
+ test/typ/regression/issue21.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/regression/issue21.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue21.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue21.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue21.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "version"))+       [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ])+, SoftBreak+, Code+    "typ/regression/issue21.typ"+    ( line 3 , column 2 )+    (FuncCall+       (FieldAccess+          (Ident (Identifier "at"))+          (FuncCall+             (Ident (Identifier "version"))+             [ NormalArg (Literal (Int 1)) , NormalArg (Literal (Int 2)) ]))+       [ NormalArg (Literal (Int 3)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [1.2]), +                 text(body: [+]), +                 text(body: [0]), +                 parbreak() })
+ test/typ/regression/issue21b.out view
@@ -0,0 +1,83 @@+--- parse tree ---+[ Code+    "typ/regression/issue21b.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue21b.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue21b.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue21b.typ"+    ( line 2 , column 2 )+    (Import+       (Literal (String "issue19.typ"))+       (NoIdentifiers (Just (Identifier "zeke"))))+, SoftBreak+, Code+    "typ/regression/issue21b.typ"+    ( line 3 , column 2 )+    (FieldAccess+       (Ident (Identifier "nums")) (Ident (Identifier "zeke")))+, SoftBreak+, Code+    "typ/regression/issue21b.typ"+    ( line 4 , column 2 )+    (Import+       (Literal (String "issue20.typ"))+       (SomeIdentifiers+          [ ( Identifier "a" , Just (Identifier "multiline") ) ]))+, SoftBreak+, Code+    "typ/regression/issue21b.typ"+    ( line 5 , column 2 )+    (Ident (Identifier "multiline"))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [(1, none, 2)]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+This is a+multiline string+]), +                 parbreak() })
+ test/typ/regression/issue23.out view
@@ -0,0 +1,77 @@+--- parse tree ---+[ Code+    "typ/regression/issue23.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue23.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue23.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue23.typ"+    ( line 2 , column 2 )+    (LetFunc+       (Identifier "fn")+       []+       (Block+          (CodeBlock+             [ Set+                 (Ident (Identifier "text"))+                 [ KeyValArg (Identifier "fill") (Ident (Identifier "red")) ]+             , If+                 [ ( Literal (Boolean True)+                   , Block (Content [ SoftBreak , Text "test" , ParBreak ])+                   )+                 , ( Literal (Boolean True)+                   , Block (Content [ SoftBreak , Text "test2" , ParBreak ])+                   )+                 ]+             ])))+, ParBreak+, Code+    "typ/regression/issue23.typ"+    ( line 11 , column 2 )+    (FuncCall (Ident (Identifier "fn")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [+test], +                      fill: rgb(100%,25%,21%,100%)), +                 parbreak(), +                 parbreak() })
+ test/typ/regression/issue25.out view
@@ -0,0 +1,82 @@+--- parse tree ---+[ Code+    "typ/regression/issue25.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue25.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue25.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue25.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "x")))+       (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 5) ) ]))+, SoftBreak+, Code+    "typ/regression/issue25.typ"+    ( line 3 , column 2 )+    (Let (BasicBind (Just (Identifier "key"))) (Literal (String "a")))+, SoftBreak+, Code+    "typ/regression/issue25.typ"+    ( line 4 , column 2 )+    (Block+       (CodeBlock+          [ Assign+              (FuncCall+                 (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "x")))+                 [ NormalArg (Ident (Identifier "key")) ])+              (Literal (Int 6))+          ]))+, SoftBreak+, Code+    "typ/regression/issue25.typ"+    ( line 7 , column 2 )+    (Ident (Identifier "x"))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [(a: 6)]), +                 parbreak() })
+ test/typ/regression/issue26.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/regression/issue26.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue26.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue26.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue26.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "x")))+       (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 4) ) ]))+, SoftBreak+, Code+    "typ/regression/issue26.typ"+    ( line 3 , column 2 )+    (Block+       (CodeBlock+          [ Assign+              (FuncCall+                 (FieldAccess (Ident (Identifier "at")) (Ident (Identifier "x")))+                 [ NormalArg (Literal (String "b")) ])+              (Literal (Int 5))+          ]))+, SoftBreak+, Code+    "typ/regression/issue26.typ"+    ( line 6 , column 2 )+    (Ident (Identifier "x"))+, ParBreak+]+"typ/regression/issue26.typ" (line 3, column 2):+Dictionary does not contain key "b"
+ test/typ/regression/issue3.out view
@@ -0,0 +1,74 @@+--- parse tree ---+[ Code+    "typ/regression/issue3.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue3.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue3.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue3.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "alpha")))+       (Dict+          [ Reg+              ( Ident (Identifier "named")+              , Dict+                  [ Reg ( Ident (Identifier "a") , Literal (Int 1) )+                  , Reg ( Ident (Identifier "b") , Literal (Int 2) )+                  ]+              )+          ]))+, SoftBreak+, Code+    "typ/regression/issue3.typ"+    ( line 3 , column 2 )+    (Dict+       [ Spr+           (FieldAccess+              (Ident (Identifier "named")) (Ident (Identifier "alpha")))+       , Reg ( Ident (Identifier "c") , Literal (Int 3) )+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [(a: 1, b: 2, c: 3)]), +                 parbreak() })
+ test/typ/regression/issue41.out view
@@ -0,0 +1,63 @@+--- parse tree ---+[ Code+    "typ/regression/issue41.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue41.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue41.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    False+    [ MAttach+        (Just (Text "2"))+        Nothing+        (Code+           "typ/regression/issue41.typ"+           ( line 2 , column 2 )+           (FieldAccess+              (Ident (Identifier "circle")) (Ident (Identifier "plus"))))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: math.attach(b: text(body: [2]), +                                                 base: text(body: [⊕]), +                                                 t: none), +                               numbering: none), +                 parbreak() })
+ test/typ/regression/issue43.out view
@@ -0,0 +1,124 @@+--- parse tree ---+[ Code+    "typ/regression/issue43.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue43.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue43.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue43.typ"+    ( line 2 , column 1 )+    (Label "foo:bar")+, ParBreak+, Code+    "typ/regression/issue43.typ"+    ( line 4 , column 2 )+    (Let (BasicBind (Just (Identifier "a"))) (Literal (String "a")))+, ParBreak+, Code+    "typ/regression/issue43.typ"+    ( line 6 , column 2 )+    (Let+       (BasicBind (Just (Identifier "w")))+       (FuncExpr+          [ NormalParam (Identifier "x") ]+          (Plus+             (Block (Content [ Equation False [ Text "x" ] ]))+             (Ident (Identifier "x")))))+, ParBreak+, Code+    "typ/regression/issue43.typ"+    ( line 8 , column 2 )+    (Let+       (BasicBind (Just (Identifier "x")))+       (Block (Content [ RawInline "hello" ])))+, ParBreak+, Code+    "typ/regression/issue43.typ"+    ( line 10 , column 2 )+    (Let+       (BasicBind (Just (Identifier "a")))+       (Dict [ Reg ( Ident (Identifier "a") , Literal (Int 1) ) ]))+, ParBreak+, Code+    "typ/regression/issue43.typ"+    ( line 12 , column 2 )+    (Let+       (BasicBind (Just (Identifier "b")))+       (Dict [ Reg ( Ident (Identifier "b") , Literal (Int 2) ) ]))+, ParBreak+, Code+    "typ/regression/issue43.typ"+    ( line 14 , column 2 )+    (Let+       (BasicBind (Just (Identifier "c")))+       (Dict [ Reg ( Ident (Identifier "c") , Literal (Int 3) ) ]))+, ParBreak+, Code+    "typ/regression/issue43.typ"+    ( line 16 , column 2 )+    (Let+       (BasicBind (Just (Identifier "d")))+       (Dict [ Spr (Ident (Identifier "a")) ]))+, ParBreak+, Code+    "typ/regression/issue43.typ"+    ( line 18 , column 2 )+    (Let+       (BasicBind (Just (Identifier "e")))+       (Dict [ Spr (Ident (Identifier "b")) ]))+, ParBreak+, Code+    "typ/regression/issue43.typ"+    ( line 20 , column 2 )+    (Let (BasicBind (Just (Identifier "f"))) (Dict []))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 <foo:bar>, +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 parbreak(), +                 parbreak() })
+ test/typ/regression/issue49.out view
@@ -0,0 +1,52 @@+--- parse tree ---+[ Code+    "typ/regression/issue49.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue49.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue49.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Text "\27979\35797\25991\26412"+, Strong [ Text "\21152\31895" ]+, Text "\12290"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+测试文本]), +                 strong(body: text(body: [加粗])), +                 text(body: [。]), +                 parbreak() })
+ test/typ/regression/issue5.out view
@@ -0,0 +1,52 @@+--- parse tree ---+[ Code+    "typ/regression/issue5.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue5.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue5.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation True [ MGroup Nothing Nothing [ Text "3" , Text "!" ] ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { text(body: [3]), +                                       text(body: [!]) }, +                               numbering: none), +                 parbreak() })
+ test/typ/regression/issue50.out view
@@ -0,0 +1,51 @@+--- parse tree ---+[ Code+    "typ/regression/issue50.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue50.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue50.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation False [ Text "1." ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: false, +                               body: text(body: [1.]), +                               numbering: none), +                 parbreak() })
+ test/typ/regression/issue54.out view
@@ -0,0 +1,114 @@+--- parse tree ---+[ Code+    "typ/regression/issue54.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue54.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue54.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    True+    [ MAttach+        (Just+           (MGroup+              Nothing+              Nothing+              [ Text "a" , MGroup (Just "(") (Just ")") [ Text "b" ] ]))+        Nothing+        (Text "c")+    , HardBreak+    , MAttach+        (Just (MGroup Nothing Nothing [ Text "a" ])) Nothing (Text "c")+    , MGroup (Just "(") (Just ")") [ Text "b" ]+    , HardBreak+    , MAttach+        (Just (MGroup Nothing Nothing [ Text "a" , Text "!" ]))+        Nothing+        (Text "c")+    , HardBreak+    , MAttach+        (Just (MGroup Nothing Nothing [ Text "a" , Text "!" ]))+        Nothing+        (Text "c")+    , MGroup (Just "(") (Just ")") [ Text "b" ]+    , HardBreak+    , MFrac+        (Text "a")+        (MAttach+           Nothing+           (Just (Text "n"))+           (MGroup Nothing Nothing [ Text "b" , Text "!" ]))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.attach(b: { text(body: [a]), +                                                        math.lr(body: ({ [(], +                                                                         text(body: [b]), +                                                                         [)] })) }, +                                                   base: text(body: [c]), +                                                   t: none), +                                       linebreak(), +                                       math.attach(b: text(body: [a]), +                                                   base: text(body: [c]), +                                                   t: none), +                                       math.lr(body: ({ [(], +                                                        text(body: [b]), +                                                        [)] })), +                                       linebreak(), +                                       math.attach(b: { text(body: [a]), +                                                        text(body: [!]) }, +                                                   base: text(body: [c]), +                                                   t: none), +                                       linebreak(), +                                       math.attach(b: { text(body: [a]), +                                                        text(body: [!]) }, +                                                   base: text(body: [c]), +                                                   t: none), +                                       math.lr(body: ({ [(], +                                                        text(body: [b]), +                                                        [)] })), +                                       linebreak(), +                                       math.frac(denom: math.attach(b: none, +                                                                    base: { text(body: [b]), +                                                                            text(body: [!]) }, +                                                                    t: text(body: [n])), +                                                 num: text(body: [a])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/regression/issue55.out view
@@ -0,0 +1,76 @@+--- parse tree ---+[ Code+    "typ/regression/issue55.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue55.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue55.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    True+    [ MGroup (Just "(") (Just ")") [ Text "b" ]+    , MFrac+        (MGroup (Just "(") (Just ")") [ Text "c" ])+        (MGroup Nothing Nothing [ Text "d" ])+    , Text "!"+    , MFrac+        (MGroup (Just "(") (Just ")") [ Text "a" ])+        (MGroup Nothing Nothing [ Text "b" ])+    , MGroup Nothing Nothing [ HardBreak , Text "!" ]+    , MFrac+        (MGroup (Just "(") (Just ")") [ Text "a" ])+        (MGroup Nothing Nothing [ Text "b" ])+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: { math.lr(body: ({ [(], +                                                        text(body: [b]), +                                                        [)] })), +                                       math.frac(denom: text(body: [d]), +                                                 num: text(body: [c])), +                                       text(body: [!]), +                                       math.frac(denom: text(body: [b]), +                                                 num: text(body: [a])), +                                       linebreak(), +                                       text(body: [!]), +                                       math.frac(denom: text(body: [b]), +                                                 num: text(body: [a])) }, +                               numbering: none), +                 parbreak() })
+ test/typ/regression/issue59.out view
@@ -0,0 +1,56 @@+--- parse tree ---+[ Code+    "typ/regression/issue59.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue59.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue59.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue59.typ"+    ( line 2 , column 2 )+    (If+       [ ( Not (Equals (Literal (Int 5)) (Label "foo"))+         , Block (CodeBlock [ Block (Content [ Text "a" ]) ])+         )+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [a]), +                 parbreak() })
+ test/typ/regression/issue6.out view
@@ -0,0 +1,65 @@+--- parse tree ---+[ Code+    "typ/regression/issue6.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue6.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue6.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Equation+    True+    [ Code+        "typ/regression/issue6.typ"+        ( line 2 , column 4 )+        (Let+           (BasicBind (Just (Identifier "g")))+           (Block (Content [ Equation False [ Text "3" ] ])))+    , Code+        "typ/regression/issue6.typ"+        ( line 3 , column 2 )+        (Ident (Identifier "g"))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 math.equation(block: true, +                               body: math.equation(block: false, +                                                   body: text(body: [3]), +                                                   numbering: none), +                               numbering: none), +                 parbreak() })
+ test/typ/regression/issue60.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/regression/issue60.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue60.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue60.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue60.typ"+    ( line 2 , column 2 )+    (Import+       (Literal (String "addons/example.typ"))+       (SomeIdentifiers [ ( Identifier "utf8string" , Nothing ) ]))+, SoftBreak+, Code+    "typ/regression/issue60.typ"+    ( line 3 , column 2 )+    (Ident (Identifier "utf8string"))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [Anything!+]), +                 parbreak() })
+ test/typ/regression/issue63.out view
@@ -0,0 +1,99 @@+--- parse tree ---+[ Code+    "typ/regression/issue63.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/regression/issue63.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/regression/issue63.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/regression/issue63.typ"+    ( line 2 , column 2 )+    (Show+       (Just (Ident (Identifier "link")))+       (Ident (Identifier "underline")))+, ParBreak+, BulletListItem+    [ Code+        "typ/regression/issue63.typ"+        ( line 4 , column 4 )+        (FuncCall+           (Ident (Identifier "link"))+           [ NormalArg+               (Literal+                  (String "https://www.jetbrains.com/compose-multiplatform/"))+           , BlockArg [ Text "Compose" , Space , Text "Multiplatform" ]+           ])+    , Space+    , Text "as"+    , Space+    , Text "front"+    , Text "-"+    , Text "end"+    , Space+    , Text "framework"+    ]+, SoftBreak+, BulletListItem+    [ Code+        "typ/regression/issue63.typ"+        ( line 5 , column 4 )+        (FuncCall+           (Ident (Identifier "link"))+           [ NormalArg+               (Literal (String "https://github.com/InsertKoinIO/koin/"))+           , BlockArg [ Text "Koin" ]+           ])+    , Space+    , Text "for"+    , Space+    , Text "Dependecy"+    , Space+    , Text "Injection"+    , ParBreak+    ]+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 list(children: ({ underline(body: link(body: text(body: [Compose Multiplatform]), +                                                        dest: "https://www.jetbrains.com/compose-multiplatform/")), +                                   text(body: [ as front-end framework]) }, +                                 { underline(body: link(body: text(body: [Koin]), +                                                        dest: "https://github.com/InsertKoinIO/koin/")), +                                   text(body: [ for Dependecy Injection]), +                                   parbreak() })) })
+ test/typ/regression/issue63.typ view
@@ -0,0 +1,5 @@+#show link: underline++- #link("https://www.jetbrains.com/compose-multiplatform/")[Compose Multiplatform] as front-end framework+- #link("https://github.com/InsertKoinIO/koin/")[Koin] for Dependecy Injection+
+ test/typ/text/baseline-00.out view
@@ -0,0 +1,193 @@+--- parse tree ---+[ Code+    "typ/text/baseline-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/baseline-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/baseline-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, EmDash+, SoftBreak+, Text "Hi"+, Space+, Code+    "typ/text/baseline-00.typ"+    ( line 5 , column 5 )+    (FuncCall+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 1.5 Em)) , BlockArg [ Text "You" ] ])+, Text ","+, Space+, Code+    "typ/text/baseline-00.typ"+    ( line 5 , column 24 )+    (FuncCall+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 0.75 Em))+       , BlockArg+           [ Text "how" , Space , Text "are" , Space , Text "you?" ]+       ])+, ParBreak+, Text "Our"+, Space+, Text "cockatoo"+, Space+, Text "was"+, Space+, Text "one"+, Space+, Text "of"+, Space+, Text "the"+, SoftBreak+, Code+    "typ/text/baseline-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "baseline") (Negated (Literal (Numeric 0.2 Em)))+       , BlockArg+           [ Code+               "typ/text/baseline-00.typ"+               ( line 8 , column 26 )+               (FuncCall+                  (Ident (Identifier "box"))+                  [ NormalArg+                      (FuncCall+                         (Ident (Identifier "circle"))+                         [ KeyValArg (Identifier "radius") (Literal (Numeric 2.0 Pt)) ])+                  ])+           , Space+           , Text "first"+           ]+       ])+, SoftBreak+, Code+    "typ/text/baseline-00.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "baseline") (Literal (Numeric 0.2 Em))+       , BlockArg+           [ Text "birds"+           , Space+           , Code+               "typ/text/baseline-00.typ"+               ( line 9 , column 31 )+               (FuncCall+                  (Ident (Identifier "box"))+                  [ NormalArg+                      (FuncCall+                         (Ident (Identifier "circle"))+                         [ KeyValArg (Identifier "radius") (Literal (Numeric 2.0 Pt)) ])+                  ])+           ]+       ])+, SoftBreak+, Text "that"+, Space+, Text "ever"+, Space+, Text "learned"+, Space+, Text "to"+, Space+, Text "mimic"+, Space+, Text "a"+, Space+, Text "human"+, Space+, Text "voice"+, Text "."+, ParBreak+, EmDash+, SoftBreak+, Text "Hey"+, Space+, Code+    "typ/text/baseline-00.typ"+    ( line 13 , column 6 )+    (FuncCall+       (Ident (Identifier "box"))+       [ KeyValArg+           (Identifier "baseline") (Literal (Numeric 40.0 Percent))+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))+              , KeyValArg (Identifier "width") (Literal (Numeric 1.5 Cm))+              ])+       ])+, Space+, Text "there!"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+—+Hi ]), +                 text(body: text(body: [You]), +                      size: 1.5em), +                 text(body: [, ]), +                 text(body: text(body: [how are you?]), +                      size: 0.75em), +                 parbreak(), +                 text(body: [Our cockatoo was one of the+]), +                 text(baseline: -0.2em, +                      body: { box(body: circle(radius: 2.0pt)), +                              text(body: [ first]) }), +                 text(body: [+]), +                 text(baseline: 0.2em, +                      body: { text(body: [birds ]), +                              box(body: circle(radius: 2.0pt)) }), +                 text(body: [+that ever learned to mimic a human voice.]), +                 parbreak(), +                 text(body: [—+Hey ]), +                 box(baseline: 40%, +                     body: image(path: "/assets/files/tiger.jpg", +                                 width: 1.5cm)), +                 text(body: [ there!]), +                 parbreak() })
+ test/typ/text/case-00.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/text/case-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/case-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/case-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/case-00.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "memes")))+       (Literal (String "ArE mEmEs gReAt?")))+, SoftBreak+, Code+    "typ/text/case-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "lower"))+              [ NormalArg (Ident (Identifier "memes")) ])+       , NormalArg (Literal (String "are memes great?"))+       ])+, SoftBreak+, Code+    "typ/text/case-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "upper"))+              [ NormalArg (Ident (Identifier "memes")) ])+       , NormalArg (Literal (String "ARE MEMES GREAT?"))+       ])+, SoftBreak+, Code+    "typ/text/case-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "upper"))+              [ NormalArg (Literal (String "\917\955\955\940\948\945")) ])+       , NormalArg (Literal (String "\917\923\923\902\916\913"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 text(body: [+]), +                 text(body: [✅]), +                 parbreak() })
+ test/typ/text/case-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/chinese-00.out view
@@ -0,0 +1,73 @@+--- parse tree ---+[ Code+    "typ/text/chinese-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/chinese-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/chinese-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/chinese-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font") (Literal (String "Noto Serif CJK SC"))+       ])+, ParBreak+, Text+    "\26159\32654\22269\24191\25773\20844\21496\30005\35270\21095\12298\36855\22833\12299\31532\&3\23395\30340\31532\&22\21644\&23\38598\65292\20063\26159\20840\21095\30340\31532\&71\38598\21644\&72\38598"+, SoftBreak+, Text+    "\30001\25191\34892\21046\20316\20154\25140\33945\183\26519\36947\22827\21644\21345\23572\39039\183\24211\26031\32534\21095\65292\23548\28436\21017\26159\21478\19968\21517\25191\34892\21046\20316\20154\26480\20811\183\26412\24503"+, SoftBreak+, Text+    "\33410\30446\20110\&2007\24180\&5\26376\&23\26085\22312\32654\22269\21644\21152\25343\22823\39318\25773\65292\20849\35745\21560\24341\20102\&1400\19975\32654\22269\35266\20247\25910\30475"+, SoftBreak+, Text+    "\26412\38598\21152\19978\25554\25773\24191\21578\19968\20849\20063\25345\32493\26377\20004\20010\23567\26102"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [是美国广播公司电视剧《迷失》第3季的第22和23集,也是全剧的第71集和72集+由执行制作人戴蒙·林道夫和卡尔顿·库斯编剧,导演则是另一名执行制作人杰克·本德+节目于2007年5月23日在美国和加拿大首播,共计吸引了1400万美国观众收看+本集加上插播广告一共也持续有两个小时], +                      font: "Noto Serif CJK SC"), +                 parbreak() })
+ test/typ/text/copy-paste-00.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/text/copy-paste-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/copy-paste-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/copy-paste-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Text "The"+, Space+, Text "after"+, Space+, Text "fira"+, Space+, Text "\127987\65039\8205\127752!"+, ParBreak+, Code+    "typ/text/copy-paste-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "ar"))+       , KeyValArg+           (Identifier "font") (Literal (String "Noto Sans Arabic"))+       ])+, SoftBreak+, Text "\1605\1585\1581\1576\1611\1575"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+The after fira 🏳️‍🌈!]), +                 parbreak(), +                 text(body: [+مرحبًا], +                      font: "Noto Sans Arabic", +                      lang: "ar"), +                 parbreak() })
+ test/typ/text/deco-00.out view
@@ -0,0 +1,170 @@+--- parse tree ---+[ Code+    "typ/text/deco-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/deco-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/deco-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/deco-00.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "red")))+       (FuncCall+          (Ident (Identifier "rgb"))+          [ NormalArg (Literal (String "fc0030")) ]))+, ParBreak+, Comment+, Code+    "typ/text/deco-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "strike"))+       [ BlockArg+           [ Text "Statements"+           , Space+           , Text "dreamt"+           , Space+           , Text "up"+           , Space+           , Text "by"+           , Space+           , Text "the"+           , Space+           , Text "utterly"+           , Space+           , Text "deranged"+           , Text "."+           ]+       ])+, ParBreak+, Comment+, Code+    "typ/text/deco-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "underline"))+       [ KeyValArg (Identifier "offset") (Literal (Numeric 5.0 Pt))+       , BlockArg [ Text "Further" , Space , Text "below" , Text "." ]+       ])+, ParBreak+, Comment+, Code+    "typ/text/deco-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "underline"))+       [ KeyValArg (Identifier "stroke") (Ident (Identifier "red"))+       , KeyValArg (Identifier "evade") (Literal (Boolean False))+       , BlockArg+           [ Text "Critical"+           , Space+           , Text "information"+           , Space+           , Text "is"+           , Space+           , Text "conveyed"+           , Space+           , Text "here"+           , Text "."+           ]+       ])+, ParBreak+, Comment+, Code+    "typ/text/deco-00.typ"+    ( line 14 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "underline"))+              [ BlockArg+                  [ Text "Change"+                  , Space+                  , Text "with"+                  , Space+                  , Text "the"+                  , Space+                  , Text "wind"+                  , Text "."+                  ]+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/text/deco-00.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "overline"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "underline"))+              [ BlockArg+                  [ Text "Running"+                  , Space+                  , Text "amongst"+                  , Space+                  , Text "the"+                  , Space+                  , Text "wolves"+                  , Text "."+                  ]+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 strike(body: text(body: [Statements dreamt up by the utterly deranged.])), +                 parbreak(), +                 underline(body: text(body: [Further below.]), +                           offset: 5.0pt), +                 parbreak(), +                 underline(body: text(body: [Critical information is conveyed here.]), +                           evade: false, +                           stroke: rgb(98%,0%,18%,100%)), +                 parbreak(), +                 text(body: underline(body: text(body: [Change with the wind.])), +                      fill: rgb(98%,0%,18%,100%)), +                 parbreak(), +                 overline(body: underline(body: text(body: [Running amongst the wolves.]))), +                 parbreak() })
+ test/typ/text/deco-01.out view
@@ -0,0 +1,125 @@+--- parse tree ---+[ Code+    "typ/text/deco-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/deco-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/deco-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/deco-01.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "redact")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "strike")))+          [ KeyValArg (Identifier "stroke") (Literal (Numeric 10.0 Pt))+          , KeyValArg (Identifier "extent") (Literal (Numeric 5.0e-2 Em))+          ]))+, SoftBreak+, Code+    "typ/text/deco-01.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "highlight")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "strike")))+          [ KeyValArg+              (Identifier "stroke")+              (Plus+                 (Literal (Numeric 10.0 Pt))+                 (FuncCall+                    (Ident (Identifier "rgb"))+                    [ NormalArg (Literal (String "abcdef88")) ]))+          , KeyValArg (Identifier "extent") (Literal (Numeric 5.0e-2 Em))+          ]))+, ParBreak+, Comment+, Text "Sometimes,"+, Space+, Text "we"+, Space+, Text "work"+, Space+, Code+    "typ/text/deco-01.typ"+    ( line 6 , column 21 )+    (FuncCall+       (Ident (Identifier "redact"))+       [ BlockArg [ Text "in" , Space , Text "secret" ] ])+, Text "."+, SoftBreak+, Text "There"+, Space+, Text "might"+, Space+, Text "be"+, Space+, Code+    "typ/text/deco-01.typ"+    ( line 7 , column 17 )+    (FuncCall+       (Ident (Identifier "highlight")) [ BlockArg [ Text "redacted" ] ])+, Space+, Text "things"+, Text "."+, SoftBreak+, Text "underline"+, Text "("+, Text ")"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [Sometimes, we work ]), +                 strike(body: text(body: [in secret]), +                        extent: 5.0e-2em, +                        stroke: 10.0pt), +                 text(body: [.+There might be ]), +                 strike(body: text(body: [redacted]), +                        extent: 5.0e-2em, +                        stroke: (thickness: 10.0pt,+                                 color: rgb(67%,80%,93%,53%))), +                 text(body: [ things.+underline()]), +                 parbreak() })
+ test/typ/text/deco-02.out view
@@ -0,0 +1,75 @@+--- parse tree ---+[ Code+    "typ/text/deco-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/deco-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/deco-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/deco-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "underline"))+       [ KeyValArg (Identifier "stroke") (Literal (Numeric 2.0 Pt))+       , KeyValArg (Identifier "offset") (Literal (Numeric 2.0 Pt))+       ])+, SoftBreak+, Code+    "typ/text/deco-02.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "underline"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "text"))+              [ NormalArg (Ident (Identifier "red"))+              , NormalArg (Block (Content [ Text "DANGER!" ]))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 underline(body: text(body: text(body: [DANGER!]), +                                      color: rgb(100%,25%,21%,100%)), +                           offset: 2.0pt, +                           stroke: 2.0pt), +                 parbreak() })
+ test/typ/text/edge-00.out view
@@ -0,0 +1,333 @@+--- parse tree ---+[ Code+    "typ/text/edge-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/edge-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/edge-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/edge-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 160.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/edge-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "size") (Literal (Numeric 8.0 Pt)) ])+, ParBreak+, Code+    "typ/text/edge-00.typ"+    ( line 5 , column 2 )+    (LetFunc+       (Identifier "try")+       [ NormalParam (Identifier "top")+       , NormalParam (Identifier "bottom")+       ]+       (FuncCall+          (Ident (Identifier "rect"))+          [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))+          , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+          , BlockArg+              [ SoftBreak+              , Code+                  "typ/text/edge-00.typ"+                  ( line 6 , column 4 )+                  (Set+                     (Ident (Identifier "text"))+                     [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Mono"))+                     , KeyValArg (Identifier "top-edge") (Ident (Identifier "top"))+                     , KeyValArg+                         (Identifier "bottom-edge") (Ident (Identifier "bottom"))+                     ])+              , SoftBreak+              , Text "From"+              , Space+              , Code+                  "typ/text/edge-00.typ"+                  ( line 7 , column 9 )+                  (Ident (Identifier "top"))+              , Space+              , Text "to"+              , Space+              , Code+                  "typ/text/edge-00.typ"+                  ( line 7 , column 17 )+                  (Ident (Identifier "bottom"))+              , ParBreak+              ]+          ]))+, ParBreak+, Code+    "typ/text/edge-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "try"))+       [ NormalArg (Literal (String "ascender"))+       , NormalArg (Literal (String "descender"))+       ])+, SoftBreak+, Code+    "typ/text/edge-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "try"))+       [ NormalArg (Literal (String "ascender"))+       , NormalArg (Literal (String "baseline"))+       ])+, SoftBreak+, Code+    "typ/text/edge-00.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "try"))+       [ NormalArg (Literal (String "cap-height"))+       , NormalArg (Literal (String "baseline"))+       ])+, SoftBreak+, Code+    "typ/text/edge-00.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "try"))+       [ NormalArg (Literal (String "x-height"))+       , NormalArg (Literal (String "baseline"))+       ])+, SoftBreak+, Code+    "typ/text/edge-00.typ"+    ( line 14 , column 2 )+    (FuncCall+       (Ident (Identifier "try"))+       [ NormalArg (Literal (Numeric 4.0 Pt))+       , NormalArg (Negated (Literal (Numeric 2.0 Pt)))+       ])+, SoftBreak+, Code+    "typ/text/edge-00.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "try"))+       [ NormalArg+           (Plus (Literal (Numeric 1.0 Pt)) (Literal (Numeric 0.3 Em)))+       , NormalArg (Negated (Literal (Numeric 0.15 Em)))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 parbreak(), +                 rect(body: { text(body: [+], +                                   size: 8.0pt), +                              text(body: [+From ], +                                   bottom-edge: "descender", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "ascender"), +                              text(body: [ascender], +                                   bottom-edge: "descender", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "ascender"), +                              text(body: [ to ], +                                   bottom-edge: "descender", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "ascender"), +                              text(body: [descender], +                                   bottom-edge: "descender", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "ascender"), +                              parbreak() }, +                      fill: rgb(18%,80%,25%,100%), +                      inset: 0.0pt), +                 text(body: [+], size: 8.0pt), +                 rect(body: { text(body: [+], +                                   size: 8.0pt), +                              text(body: [+From ], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "ascender"), +                              text(body: [ascender], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "ascender"), +                              text(body: [ to ], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "ascender"), +                              text(body: [baseline], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "ascender"), +                              parbreak() }, +                      fill: rgb(18%,80%,25%,100%), +                      inset: 0.0pt), +                 text(body: [+], size: 8.0pt), +                 rect(body: { text(body: [+], +                                   size: 8.0pt), +                              text(body: [+From ], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "cap-height"), +                              text(body: [cap-height], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "cap-height"), +                              text(body: [ to ], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "cap-height"), +                              text(body: [baseline], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "cap-height"), +                              parbreak() }, +                      fill: rgb(18%,80%,25%,100%), +                      inset: 0.0pt), +                 text(body: [+], size: 8.0pt), +                 rect(body: { text(body: [+], +                                   size: 8.0pt), +                              text(body: [+From ], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "x-height"), +                              text(body: [x-height], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "x-height"), +                              text(body: [ to ], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "x-height"), +                              text(body: [baseline], +                                   bottom-edge: "baseline", +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: "x-height"), +                              parbreak() }, +                      fill: rgb(18%,80%,25%,100%), +                      inset: 0.0pt), +                 text(body: [+], size: 8.0pt), +                 rect(body: { text(body: [+], +                                   size: 8.0pt), +                              text(body: [+From ], +                                   bottom-edge: -2.0pt, +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: 4.0pt), +                              text(body: [4.0pt], +                                   bottom-edge: -2.0pt, +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: 4.0pt), +                              text(body: [ to ], +                                   bottom-edge: -2.0pt, +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: 4.0pt), +                              text(body: [-2.0pt], +                                   bottom-edge: -2.0pt, +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: 4.0pt), +                              parbreak() }, +                      fill: rgb(18%,80%,25%,100%), +                      inset: 0.0pt), +                 text(body: [+], size: 8.0pt), +                 rect(body: { text(body: [+], +                                   size: 8.0pt), +                              text(body: [+From ], +                                   bottom-edge: -0.15em, +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: 1.0pt + 0.3em), +                              text(body: [1.0pt + 0.3em], +                                   bottom-edge: -0.15em, +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: 1.0pt + 0.3em), +                              text(body: [ to ], +                                   bottom-edge: -0.15em, +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: 1.0pt + 0.3em), +                              text(body: [-0.15em], +                                   bottom-edge: -0.15em, +                                   font: "IBM Plex Mono", +                                   size: 8.0pt, +                                   top-edge: 1.0pt + 0.3em), +                              parbreak() }, +                      fill: rgb(18%,80%,25%,100%), +                      inset: 0.0pt), +                 parbreak() })
+ test/typ/text/edge-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/edge-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/em-00.out view
@@ -0,0 +1,150 @@+--- parse tree ---+[ Code+    "typ/text/em-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/em-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/em-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/em-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "size") (Literal (Numeric 5.0 Pt)) ])+, SoftBreak+, Text "A"+, Space+, Comment+, Code+    "typ/text/em-00.typ"+    ( line 4 , column 2 )+    (Block+       (Content+          [ SoftBreak+          , Code+              "typ/text/em-00.typ"+              ( line 5 , column 4 )+              (Set+                 (Ident (Identifier "text"))+                 [ KeyValArg (Identifier "size") (Literal (Numeric 2.0 Em)) ])+          , SoftBreak+          , Text "B"+          , Space+          , Comment+          , Space+          , Code+              "typ/text/em-00.typ"+              ( line 7 , column 4 )+              (Block+                 (Content+                    [ SoftBreak+                    , Code+                        "typ/text/em-00.typ"+                        ( line 8 , column 6 )+                        (Set+                           (Ident (Identifier "text"))+                           [ KeyValArg+                               (Identifier "size")+                               (Plus (Literal (Numeric 1.5 Em)) (Literal (Numeric 1.0 Pt)))+                           ])+                    , SoftBreak+                    , Text "C"+                    , Space+                    , Comment+                    , Space+                    , Code+                        "typ/text/em-00.typ"+                        ( line 10 , column 6 )+                        (FuncCall+                           (Ident (Identifier "text"))+                           [ KeyValArg (Identifier "size") (Literal (Numeric 2.0 Em))+                           , BlockArg [ Text "D" ]+                           ])+                    , Space+                    , Comment+                    , Space+                    , Text "E"+                    , Space+                    , Comment+                    , Space+                    ]))+          , SoftBreak+          , Text "F"+          , Space+          , Comment+          ]))+, SoftBreak+, Text "G"+, Space+, Comment+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+A ], +                      size: 5.0pt), +                 text(body: [+], size: 5.0pt), +                 text(body: [+B ], +                      size: 2.0em), +                 text(body: [ ], size: 2.0em), +                 text(body: [+], size: 2.0em), +                 text(body: [+C ], +                      size: 1.5em + 1.0pt), +                 text(body: [ ], +                      size: 1.5em + 1.0pt), +                 text(body: text(body: [D], +                                 size: 1.5em + 1.0pt), +                      size: 2.0em), +                 text(body: [ ], +                      size: 1.5em + 1.0pt), +                 text(body: [ E ], +                      size: 1.5em + 1.0pt), +                 text(body: [ ], +                      size: 1.5em + 1.0pt), +                 text(body: [+F ], +                      size: 1.5em + 1.0pt), +                 text(body: [+G ], +                      size: 1.5em + 1.0pt), +                 parbreak() })
+ test/typ/text/em-01.out view
@@ -0,0 +1,120 @@+--- parse tree ---+[ Code+    "typ/text/em-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/em-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/em-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/em-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "size") (Literal (Numeric 5.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/em-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "size") (Literal (Numeric 2.0 Em)) ])+, SoftBreak+, Code+    "typ/text/em-01.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "red")) ])+, ParBreak+, Code+    "typ/text/em-01.typ"+    ( line 7 , column 2 )+    (Let+       (BasicBind (Just (Identifier "size")))+       (Block+          (CodeBlock+             [ Let+                 (BasicBind (Just (Identifier "size")))+                 (Plus (Literal (Numeric 0.25 Em)) (Literal (Numeric 1.0 Pt)))+             , For+                 (BasicBind Nothing)+                 (FuncCall+                    (Ident (Identifier "range")) [ NormalArg (Literal (Int 3)) ])+                 (Block+                    (CodeBlock+                       [ Assign+                           (Ident (Identifier "size"))+                           (Times (Ident (Identifier "size")) (Literal (Int 2)))+                       ]))+             , Minus (Ident (Identifier "size")) (Literal (Numeric 3.0 Pt))+             ])))+, ParBreak+, Code+    "typ/text/em-01.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "square"))+              [ KeyValArg (Identifier "size") (Ident (Identifier "size")) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "square"))+              [ KeyValArg (Identifier "size") (Literal (Numeric 25.0 Pt)) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], size: 5.0pt), +                 text(body: [+], size: 2.0em), +                 parbreak(), +                 parbreak(), +                 stack(children: (square(fill: rgb(100%,25%,21%,100%), +                                         size: (2.0em + 8.0pt) + -3.0pt), +                                  square(fill: rgb(100%,25%,21%,100%), +                                         size: 25.0pt)), +                       dir: ltr, +                       spacing: 1.0fr), +                 parbreak() })
+ test/typ/text/emoji-00.out view
@@ -0,0 +1,65 @@+--- parse tree ---+[ Code+    "typ/text/emoji-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/emoji-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/emoji-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "\128105\8205\128105\8205\128102"+, ParBreak+, Comment+, Text "\127987\65039\8205\127752"+, ParBreak+, Comment+, Text "\128077\127999"+, ParBreak+, Comment+, Text "1\65039\8419"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [👩‍👩‍👦]), +                 parbreak(), +                 text(body: [🏳️‍🌈]), +                 parbreak(), +                 text(body: [👍🏿]), +                 parbreak(), +                 text(body: [1️⃣]), +                 parbreak() })
+ test/typ/text/emoji-01.out view
@@ -0,0 +1,50 @@+--- parse tree ---+[ Code+    "typ/text/emoji-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/emoji-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/emoji-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "\127966\8205\127755"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [🏞‍🌋]), +                 parbreak() })
+ test/typ/text/emphasis-00.out view
@@ -0,0 +1,84 @@+--- parse tree ---+[ Code+    "typ/text/emphasis-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/emphasis-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/emphasis-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Emph+    [ Text "Emphasized"+    , Space+    , Text "and"+    , Space+    , Strong [ Text "strong" ]+    , Space+    , Text "words!"+    ]+, ParBreak+, Comment+, Text "hello_world"+, Space+, Text "Nutzer*innen"+, ParBreak+, Comment+, Emph+    [ Text "Still"+    , Space+    , Code+        "typ/text/emphasis-00.typ"+        ( line 9 , column 9 )+        (Block (Content [ ParBreak ]))+    , Space+    , Text "emphasized"+    , Text "."+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 emph(body: { text(body: [Emphasized and ]), +                              strong(body: text(body: [strong])), +                              text(body: [ words!]) }), +                 parbreak(), +                 text(body: [hello_world Nutzer*innen]), +                 parbreak(), +                 emph(body: { text(body: [Still ]), +                              parbreak(), +                              text(body: [ emphasized.]) }), +                 parbreak() })
+ test/typ/text/emphasis-01.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/text/emphasis-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/emphasis-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/emphasis-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "P"+, Code+    "typ/text/emphasis-01.typ"+    ( line 3 , column 3 )+    (FuncCall+       (Ident (Identifier "strong")) [ BlockArg [ Text "art" ] ])+, Text "ly"+, Space+, Text "em"+, Code+    "typ/text/emphasis-01.typ"+    ( line 3 , column 20 )+    (FuncCall (Ident (Identifier "emph")) [ BlockArg [ Text "phas" ] ])+, Text "ized"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [P]), +                 strong(body: text(body: [art])), +                 text(body: [ly em]), +                 emph(body: text(body: [phas])), +                 text(body: [ized.]), +                 parbreak() })
+ test/typ/text/emphasis-02.out view
@@ -0,0 +1,91 @@+--- parse tree ---+[ Code+    "typ/text/emphasis-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/emphasis-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/emphasis-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Normal"+, ParBreak+, Code+    "typ/text/emphasis-02.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "strong"))+       [ KeyValArg (Identifier "delta") (Literal (Int 300)) ])+, SoftBreak+, Strong [ Text "Bold" ]+, ParBreak+, Code+    "typ/text/emphasis-02.typ"+    ( line 8 , column 2 )+    (Set+       (Ident (Identifier "strong"))+       [ KeyValArg (Identifier "delta") (Literal (Int 150)) ])+, SoftBreak+, Strong [ Text "Medium" ]+, Space+, Text "and"+, Space+, Strong+    [ Code+        "typ/text/emphasis-02.typ"+        ( line 9 , column 16 )+        (Block (Content [ Strong [ Text "Bold" ] ]))+    ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Normal]), +                 parbreak(), +                 text(body: [+]), +                 strong(body: text(body: [Bold]), +                        delta: 300), +                 parbreak(), +                 text(body: [+]), +                 strong(body: text(body: [Medium]), +                        delta: 150), +                 text(body: [ and ]), +                 strong(body: strong(body: text(body: [Bold]), +                                     delta: 150), +                        delta: 150), +                 parbreak() })
+ test/typ/text/emphasis-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/emphasis-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/emphasis-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/escape-00.out view
@@ -0,0 +1,187 @@+--- parse tree ---+[ Code+    "typ/text/escape-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/escape-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/escape-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "\\"+, Space+, Text "/"+, Space+, Text "["+, Space+, Text "]"+, Space+, Text "{"+, Space+, Text "}"+, Space+, Text "#"+, Space+, Text "*"+, Space+, Text "_"+, Space+, Text "+"+, Space+, Text "="+, Space+, Text "~"+, Space+, HardBreak+, Text "`"+, Space+, Text "$"+, Space+, Text "\""+, Space+, Text "'"+, Space+, Text "<"+, Space+, Text ">"+, Space+, Text "@"+, Space+, Text "("+, Space+, Text ")"+, Space+, Text "A"+, ParBreak+, Comment+, Text "("+, Space+, Text ")"+, Space+, Text ";"+, ParBreak+, Comment+, Text "/"+, Text "/"+, SoftBreak+, Text "/"+, Text "*"+, Space+, Text "*"+, Text "/"+, SoftBreak+, Text "/"+, Strong [ Space , Text "*" , Text "/" , Space ]+, ParBreak+, Comment+, Text "\127957"+, Space+, Text "="+, Text "="+, Space+, Text "\127957"+, ParBreak+, Comment+, Text "A"+, Space+, Text "vs"+, Text "."+, Space+, Text "\\"+, Text "u"+, Text "{"+, Text "41"+, Text "}"+, ParBreak+, Comment+, Text "let"+, Space+, Text "f"+, Text "("+, Text ")"+, Space+, Text ","+, Space+, Text ";"+, Space+, Text ":"+, Space+, Text "|"+, Space+, Text "+"+, Space+, Text "-"+, Space+, Text "/"+, Text "="+, Space+, Text "="+, Text "="+, Space+, Text "12"+, Space+, Quote '"'+, Text "string"+, Quote '"'+, ParBreak+, Comment+, Text "10"+, Text "."+, Space+, Text "May"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [\ / [ ] { } # * _ + = ~ ]), +                 linebreak(), +                 text(body: [` $ " ' < > @ ( ) A]), +                 parbreak(), +                 text(body: [( ) ;]), +                 parbreak(), +                 text(body: [//+/* */+/]), +                 strong(body: text(body: [ */ ])), +                 parbreak(), +                 text(body: [🏕 == 🏕]), +                 parbreak(), +                 text(body: [A vs. \u{41}]), +                 parbreak(), +                 text(body: [let f() , ; : | + - /= == 12 “string”]), +                 parbreak(), +                 text(body: [10. May]), +                 parbreak() })
+ test/typ/text/escape-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/escape-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/fallback-00.out view
@@ -0,0 +1,81 @@+--- parse tree ---+[ Code+    "typ/text/fallback-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/fallback-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/fallback-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A\128512B"+, ParBreak+, Comment+, Text "\1583\1593"+, Space+, Text "\1575\1604\1606\1589"+, Space+, Text "\1610\1605\1591\1585"+, Space+, Text "\1593\1604\1610\1603"+, ParBreak+, Comment+, Text "\1576\128008\128512\1587\1605"+, ParBreak+, Comment+, Text "A\1576\128512\127966\1587\1605B"+, ParBreak+, Comment+, Text "01\65039\8419\&2"+, ParBreak+, Comment+, Text "A\128008\4850\4638B"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A😀B]), +                 parbreak(), +                 text(body: [دع النص يمطر عليك]), +                 parbreak(), +                 text(body: [ب🐈😀سم]), +                 parbreak(), +                 text(body: [Aب😀🏞سمB]), +                 parbreak(), +                 text(body: [01️⃣2]), +                 parbreak(), +                 text(body: [A🐈ዲሞB]), +                 parbreak() })
+ test/typ/text/features-00.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/text/features-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/features-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/features-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/features-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "kerning") (Literal (Boolean True))+       , BlockArg [ Text "Tq" ]+       ])+, Space+, HardBreak+, Code+    "typ/text/features-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "kerning") (Literal (Boolean False))+       , BlockArg [ Text "Tq" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: text(body: [Tq]), +                      kerning: true), +                 text(body: [ ]), +                 linebreak(), +                 text(body: text(body: [Tq]), +                      kerning: false), +                 parbreak() })
+ test/typ/text/features-01.out view
@@ -0,0 +1,54 @@+--- parse tree ---+[ Code+    "typ/text/features-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/features-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/features-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/features-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "smallcaps")) [ BlockArg [ Text "Smallcaps" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 smallcaps(body: text(body: [Smallcaps])), +                 parbreak() })
+ test/typ/text/features-02.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/text/features-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/features-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/features-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/features-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))+       ])+, SoftBreak+, Text "a"+, Space+, Text "vs"+, Space+, Code+    "typ/text/features-02.typ"+    ( line 4 , column 7 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "alternates") (Literal (Boolean True))+       , BlockArg [ Text "a" ]+       ])+, Space+, HardBreak+, Text "\223"+, Space+, Text "vs"+, Space+, Code+    "typ/text/features-02.typ"+    ( line 5 , column 7 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "stylistic-set") (Literal (Int 5))+       , BlockArg [ Text "\223" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+a vs ], +                      font: "IBM Plex Serif"), +                 text(alternates: true, +                      body: text(body: [a], +                                 font: "IBM Plex Serif"), +                      font: "IBM Plex Serif"), +                 text(body: [ ], +                      font: "IBM Plex Serif"), +                 linebreak(), +                 text(body: [ß vs ], +                      font: "IBM Plex Serif"), +                 text(body: text(body: [ß], +                                 font: "IBM Plex Serif"), +                      font: "IBM Plex Serif", +                      stylistic-set: 5), +                 parbreak() })
+ test/typ/text/features-03.out view
@@ -0,0 +1,64 @@+--- parse tree ---+[ Code+    "typ/text/features-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/features-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/features-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "fi"+, Space+, Text "vs"+, Text "."+, Space+, Code+    "typ/text/features-03.typ"+    ( line 3 , column 9 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "ligatures") (Literal (Boolean False))+       , BlockArg [ Text "No" , Space , Text "fi" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [fi vs. ]), +                 text(body: text(body: [No fi]), +                      ligatures: false), +                 parbreak() })
+ test/typ/text/features-04.out view
@@ -0,0 +1,75 @@+--- parse tree ---+[ Code+    "typ/text/features-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/features-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/features-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/features-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "number-type") (Literal (String "old-style"))+       ])+, SoftBreak+, Text "0123456789"+, Space+, HardBreak+, Code+    "typ/text/features-04.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "number-type") (Literal Auto)+       , BlockArg [ Text "0123456789" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+0123456789 ], +                      number-type: "old-style"), +                 linebreak(), +                 text(body: text(body: [0123456789], +                                 number-type: "old-style"), +                      number-type: auto), +                 parbreak() })
+ test/typ/text/features-05.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/text/features-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/features-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/features-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/features-05.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "number-width") (Literal (String "proportional"))+       , BlockArg [ Text "0123456789" ]+       ])+, Space+, HardBreak+, Code+    "typ/text/features-05.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "number-width") (Literal (String "tabular"))+       , BlockArg [ Text "3456789123" ]+       ])+, Space+, HardBreak+, Code+    "typ/text/features-05.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "number-width") (Literal (String "tabular"))+       , BlockArg [ Text "0123456789" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: text(body: [0123456789]), +                      number-width: "proportional"), +                 text(body: [ ]), +                 linebreak(), +                 text(body: text(body: [3456789123]), +                      number-width: "tabular"), +                 text(body: [ ]), +                 linebreak(), +                 text(body: text(body: [0123456789]), +                      number-width: "tabular"), +                 parbreak() })
+ test/typ/text/features-06.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/text/features-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/features-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/features-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/features-06.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))+       ])+, SoftBreak+, Text "0"+, Space+, Text "vs"+, Text "."+, Space+, Code+    "typ/text/features-06.typ"+    ( line 4 , column 8 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "slashed-zero") (Literal (Boolean True))+       , BlockArg [ Text "0" ]+       ])+, Space+, HardBreak+, Text "1"+, Text "/"+, Text "2"+, Space+, Text "vs"+, Text "."+, Space+, Code+    "typ/text/features-06.typ"+    ( line 5 , column 10 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "fractions") (Literal (Boolean True))+       , BlockArg [ Text "1" , Text "/" , Text "2" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+0 vs. ], +                      font: "IBM Plex Serif"), +                 text(body: text(body: [0], +                                 font: "IBM Plex Serif"), +                      font: "IBM Plex Serif", +                      slashed-zero: true), +                 text(body: [ ], +                      font: "IBM Plex Serif"), +                 linebreak(), +                 text(body: [1/2 vs. ], +                      font: "IBM Plex Serif"), +                 text(body: text(body: [1/2], +                                 font: "IBM Plex Serif"), +                      font: "IBM Plex Serif", +                      fractions: true), +                 parbreak() })
+ test/typ/text/features-07.out view
@@ -0,0 +1,81 @@+--- parse tree ---+[ Code+    "typ/text/features-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/features-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/features-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/features-07.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "features") (Array [ Reg (Literal (String "smcp")) ])+       , BlockArg [ Text "Smcp" ]+       ])+, Space+, HardBreak+, Text "fi"+, Space+, Text "vs"+, Text "."+, Space+, Code+    "typ/text/features-07.typ"+    ( line 4 , column 9 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "features")+           (Dict [ Reg ( Ident (Identifier "liga") , Literal (Int 0) ) ])+       , BlockArg [ Text "No" , Space , Text "fi" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: text(body: [Smcp]), +                      features: ("smcp")), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [fi vs. ]), +                 text(body: text(body: [No fi]), +                      features: (liga: 0)), +                 parbreak() })
+ test/typ/text/features-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/features-09.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/features-10.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/features-11.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/features-12.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/font-00.out view
@@ -0,0 +1,239 @@+--- parse tree ---+[ Code+    "typ/text/font-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/font-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/font-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/font-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 20.0 Pt)) , BlockArg [ Text "A" ] ])+, SoftBreak+, Code+    "typ/text/font-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 2.0 Em)) , BlockArg [ Text "A" ] ])+, SoftBreak+, Code+    "typ/text/font-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "size")+           (Plus (Literal (Numeric 15.0 Pt)) (Literal (Numeric 0.5 Em)))+       , BlockArg [ Text "A" ]+       ])+, ParBreak+, Comment+, Code+    "typ/text/font-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "text")) [ BlockArg [ Text "Normal" ] ])+, ParBreak+, Comment+, Code+    "typ/text/font-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "style") (Literal (String "italic"))+       , BlockArg [ Text "Italic" ]+       ])+, ParBreak+, Comment+, Code+    "typ/text/font-00.typ"+    ( line 14 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "weight") (Literal (String "bold"))+       , BlockArg [ Text "Bold" ]+       ])+, ParBreak+, Comment+, Code+    "typ/text/font-00.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "stretch") (Literal (Numeric 50.0 Percent))+       , BlockArg [ Text "Condensed" ]+       ])+, ParBreak+, Comment+, Code+    "typ/text/font-00.typ"+    ( line 20 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))+       , BlockArg [ Text "Serif" ]+       ])+, ParBreak+, Comment+, Text "Emoji"+, Text ":"+, Space+, Text "\128042,"+, Space+, Text "\127755,"+, Space+, Text "\127966"+, ParBreak+, Comment+, Code+    "typ/text/font-00.typ"+    ( line 26 , column 2 )+    (Block+       (Content+          [ SoftBreak+          , Code+              "typ/text/font-00.typ"+              ( line 27 , column 4 )+              (Set+                 (Ident (Identifier "text"))+                 [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern")) ])+          , SoftBreak+          , Text "This"+          , Space+          , Text "is"+          , Space+          , Code+              "typ/text/font-00.typ"+              ( line 28 , column 12 )+              (FuncCall+                 (Ident (Identifier "text"))+                 [ NormalArg+                     (FuncCall+                        (Ident (Identifier "rgb"))+                        [ NormalArg (Literal (String "FA644B")) ])+                 , BlockArg [ Text "way" , Space , Text "more" ]+                 ])+          , Space+          , Text "colorful"+          , Text "."+          , ParBreak+          ]))+, ParBreak+, Comment+, Comment+, Code+    "typ/text/font-00.typ"+    ( line 33 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font")+           (Array+              [ Reg (Literal (String "PT Sans"))+              , Reg (Literal (String "Twitter Color Emoji"))+              ])+       , KeyValArg (Identifier "fallback") (Literal (Boolean False))+       ])+, SoftBreak+, Text "2\960"+, Space+, Text "="+, Space+, Text "\120572"+, Space+, Text "+"+, Space+, Text "\120573"+, Text "."+, Space+, Text "\9989"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: text(body: [A]), +                      size: 20.0pt), +                 text(body: [+]), +                 text(body: text(body: [A]), +                      size: 2.0em), +                 text(body: [+]), +                 text(body: text(body: [A]), +                      size: 15.0pt + 0.5em), +                 parbreak(), +                 text(body: text(body: [Normal])), +                 parbreak(), +                 text(body: text(body: [Italic]), +                      style: "italic"), +                 parbreak(), +                 text(body: text(body: [Bold]), +                      weight: "bold"), +                 parbreak(), +                 text(body: text(body: [Condensed]), +                      stretch: 50%), +                 parbreak(), +                 text(body: text(body: [Serif]), +                      font: "IBM Plex Serif"), +                 parbreak(), +                 text(body: [Emoji: 🐪, 🌋, 🏞]), +                 parbreak(), +                 text(body: [+]), +                 text(body: [+This is ], +                      fill: rgb(13%,61%,67%,100%)), +                 text(body: text(body: [way more], +                                 fill: rgb(13%,61%,67%,100%)), +                      color: rgb(98%,39%,29%,100%), +                      fill: rgb(13%,61%,67%,100%)), +                 text(body: [ colorful.], +                      fill: rgb(13%,61%,67%,100%)), +                 parbreak(), +                 parbreak(), +                 text(body: [+2π = 𝛼 + 𝛽. ✅], +                      fallback: false, +                      fill: rgb(13%,61%,67%,100%), +                      font: ("PT Sans", +                             "Twitter Color Emoji")), +                 parbreak() })
+ test/typ/text/font-01.out view
@@ -0,0 +1,122 @@+--- parse tree ---+[ Code+    "typ/text/font-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/font-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/font-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/font-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ NormalArg (Literal (String "Text")) ])+, Space+, HardBreak+, Code+    "typ/text/font-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ NormalArg (Ident (Identifier "red"))+       , NormalArg (Literal (String "Text"))+       ])+, Space+, HardBreak+, Code+    "typ/text/font-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "Ubuntu"))+       , NormalArg (Ident (Identifier "blue"))+       , NormalArg (Literal (String "Text"))+       ])+, Space+, HardBreak+, Code+    "typ/text/font-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ NormalArg (Block (Content [ Text "Text" ]))+       , NormalArg (Ident (Identifier "teal"))+       , KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))+       ])+, Space+, HardBreak+, Code+    "typ/text/font-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ NormalArg (Ident (Identifier "red"))+       , KeyValArg+           (Identifier "font") (Literal (String "New Computer Modern"))+       , NormalArg (Block (Content [ Text "Text" ]))+       ])+, Space+, HardBreak+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: "Text"), +                 text(body: [ ]), +                 linebreak(), +                 text(body: "Text", +                      color: rgb(100%,25%,21%,100%)), +                 text(body: [ ]), +                 linebreak(), +                 text(body: "Text", +                      color: rgb(0%,45%,85%,100%), +                      font: "Ubuntu"), +                 text(body: [ ]), +                 linebreak(), +                 text(body: text(body: [Text]), +                      color: rgb(22%,80%,80%,100%), +                      font: "IBM Plex Serif"), +                 text(body: [ ]), +                 linebreak(), +                 text(body: text(body: [Text]), +                      color: rgb(100%,25%,21%,100%), +                      font: "New Computer Modern"), +                 text(body: [ ]), +                 linebreak(), +                 parbreak() })
+ test/typ/text/font-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/font-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/font-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/font-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/hyphenate-00.out view
@@ -0,0 +1,114 @@+--- parse tree ---+[ Code+    "typ/text/hyphenate-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/hyphenate-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/hyphenate-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/hyphenate-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True)) ])+, SoftBreak+, Code+    "typ/text/hyphenate-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal Auto) ])+, SoftBreak+, Code+    "typ/text/hyphenate-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Array+              [ Reg (Literal (Numeric 50.0 Pt))+              , Reg (Literal (Numeric 50.0 Pt))+              ])+       , NormalArg+           (Block+              (Content+                 [ Text "Warm"+                 , Space+                 , Text "welcomes"+                 , Space+                 , Text "to"+                 , Space+                 , Text "Typst"+                 , Text "."+                 ]))+       , NormalArg+           (FuncCall+              (Ident (Identifier "text"))+              [ KeyValArg (Identifier "lang") (Literal (String "el"))+              , BlockArg+                  [ Text "\948\953\945\956\949\961\943\963\956\945\964\945"+                  , Text "."+                  , Space+                  , HardBreak+                  , Text "\955\945\964\961\949\965\964\972\962"+                  ]+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      hyphenate: true), +                 text(body: [+], +                      hyphenate: true), +                 grid(children: (text(body: [Warm welcomes to Typst.], +                                      hyphenate: true), +                                 text(body: { text(body: [διαμερίσματα. ], +                                                   hyphenate: true), +                                              linebreak(), +                                              text(body: [λατρευτός], +                                                   hyphenate: true) }, +                                      hyphenate: true, +                                      lang: "el")), +                      columns: (50.0pt, 50.0pt)), +                 parbreak() })
+ test/typ/text/hyphenate-01.out view
@@ -0,0 +1,201 @@+--- parse tree ---+[ Code+    "typ/text/hyphenate-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/hyphenate-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/hyphenate-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/hyphenate-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 110.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/hyphenate-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True)) ])+, ParBreak+, Text "Welcome"+, Space+, Text "to"+, Space+, Text "wonderful"+, Space+, Text "experiences"+, Text "."+, Space+, HardBreak+, Text "Welcome"+, Space+, Text "to"+, Space+, RawInline "wonderful"+, Space+, Text "experiences"+, Text "."+, Space+, HardBreak+, Text "Welcome"+, Space+, Text "to"+, Space+, Code+    "typ/text/hyphenate-01.typ"+    ( line 8 , column 13 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean False))+       , BlockArg [ Text "wonderful" ]+       ])+, Space+, Text "experiences"+, Text "."+, Space+, HardBreak+, Text "Welcome"+, Space+, Text "to"+, Space+, Text "wonde"+, Code+    "typ/text/hyphenate-01.typ"+    ( line 9 , column 18 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean False))+       , BlockArg [ Text "rf" ]+       ])+, Text "ul"+, Space+, Text "experiences"+, Text "."+, Space+, HardBreak+, SoftBreak+, Comment+, Code+    "typ/text/hyphenate-01.typ"+    ( line 12 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean False)) ])+, SoftBreak+, Text "Welcome"+, Space+, Text "to"+, Space+, Text "wonderful"+, Space+, Text "experiences"+, Text "."+, Space+, HardBreak+, Text "Welcome"+, Space+, Text "to"+, Space+, Text "wo"+, Code+    "typ/text/hyphenate-01.typ"+    ( line 14 , column 15 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True))+       , BlockArg [ Text "nd" ]+       ])+, Text "erful"+, Space+, Text "experiences"+, Text "."+, Space+, HardBreak+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [Welcome to wonderful experiences. ], +                      hyphenate: true), +                 linebreak(), +                 text(body: [Welcome to ], +                      hyphenate: true), +                 raw(block: false, +                     lang: none, +                     text: "wonderful"), +                 text(body: [ experiences. ], +                      hyphenate: true), +                 linebreak(), +                 text(body: [Welcome to ], +                      hyphenate: true), +                 text(body: text(body: [wonderful], +                                 hyphenate: true), +                      hyphenate: false), +                 text(body: [ experiences. ], +                      hyphenate: true), +                 linebreak(), +                 text(body: [Welcome to wonde], +                      hyphenate: true), +                 text(body: text(body: [rf], +                                 hyphenate: true), +                      hyphenate: false), +                 text(body: [ul experiences. ], +                      hyphenate: true), +                 linebreak(), +                 text(body: [+], +                      hyphenate: true), +                 text(body: [+Welcome to wonderful experiences. ], +                      hyphenate: false), +                 linebreak(), +                 text(body: [Welcome to wo], +                      hyphenate: false), +                 text(body: text(body: [nd], +                                 hyphenate: false), +                      hyphenate: true), +                 text(body: [erful experiences. ], +                      hyphenate: false), +                 linebreak(), +                 parbreak() })
+ test/typ/text/hyphenate-02.out view
@@ -0,0 +1,83 @@+--- parse tree ---+[ Code+    "typ/text/hyphenate-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/hyphenate-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/hyphenate-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/hyphenate-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 80.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/hyphenate-02.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True)) ])+, SoftBreak+, Text "It"+, Quote '\''+, Text "s"+, Space+, Text "a"+, Space+, Code+    "typ/text/hyphenate-02.typ"+    ( line 5 , column 9 )+    (FuncCall (Ident (Identifier "emph")) [ BlockArg [ Text "Tree" ] ])+, Text "beard"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+It’s a ], +                      hyphenate: true), +                 emph(body: text(body: [Tree], +                                 hyphenate: true)), +                 text(body: [beard.], +                      hyphenate: true), +                 parbreak() })
+ test/typ/text/hyphenate-03.out view
@@ -0,0 +1,82 @@+--- parse tree ---+[ Code+    "typ/text/hyphenate-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/hyphenate-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/hyphenate-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/hyphenate-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "de"))+       , KeyValArg (Identifier "hyphenate") (Literal (Boolean True))+       ])+, SoftBreak+, Code+    "typ/text/hyphenate-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Times+              (Literal (Int 2)) (Array [ Reg (Literal (Numeric 20.0 Pt)) ]))+       , KeyValArg (Identifier "gutter") (Literal (Numeric 20.0 Pt))+       , NormalArg (Block (Content [ Text "Barankauf" ]))+       , NormalArg (Block (Content [ Text "Bar" , Shy , Text "ankauf" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      hyphenate: true, +                      lang: "de"), +                 grid(children: (text(body: [Barankauf], +                                      hyphenate: true, +                                      lang: "de"), +                                 text(body: [Bar­ankauf], +                                      hyphenate: true, +                                      lang: "de")), +                      columns: (20.0pt, 20.0pt), +                      gutter: 20.0pt), +                 parbreak() })
+ test/typ/text/hyphenate-04.out view
@@ -0,0 +1,85 @@+--- parse tree ---+[ Code+    "typ/text/hyphenate-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/hyphenate-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/hyphenate-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Comment+, Comment+, Code+    "typ/text/hyphenate-04.typ"+    ( line 6 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 60.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/hyphenate-04.typ"+    ( line 7 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True)) ])+, SoftBreak+, Code+    "typ/text/hyphenate-04.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "h")) [ NormalArg (Literal (Numeric 6.0 Pt)) ])+, Space+, Text "networks,"+, Space+, Text "the"+, Space+, Text "rest"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      hyphenate: true), +                 h(amount: 6.0pt), +                 text(body: [ networks, the rest.], +                      hyphenate: true), +                 parbreak() })
+ test/typ/text/lang-00.out view
@@ -0,0 +1,91 @@+--- parse tree ---+[ Code+    "typ/text/lang-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/lang-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/lang-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/lang-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "hyphenate") (Literal (Boolean True)) ])+, SoftBreak+, Code+    "typ/text/lang-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Times+              (Literal (Int 2)) (Array [ Reg (Literal (Numeric 20.0 Pt)) ]))+       , KeyValArg (Identifier "gutter") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "text"))+              [ KeyValArg (Identifier "lang") (Literal (String "en"))+              , BlockArg [ Quote '"' , Text "Eingabeaufforderung" , Quote '"' ]+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "text"))+              [ KeyValArg (Identifier "lang") (Literal (String "de"))+              , BlockArg [ Quote '"' , Text "Eingabeaufforderung" , Quote '"' ]+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      hyphenate: true), +                 grid(children: (text(body: text(body: [“Eingabeaufforderung”], +                                                 hyphenate: true), +                                      hyphenate: true, +                                      lang: "en"), +                                 text(body: text(body: [“Eingabeaufforderung”], +                                                 hyphenate: true), +                                      hyphenate: true, +                                      lang: "de")), +                      columns: (20.0pt, 20.0pt), +                      gutter: 1.0fr), +                 parbreak() })
+ test/typ/text/lang-01.out view
@@ -0,0 +1,93 @@+--- parse tree ---+[ Code+    "typ/text/lang-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/lang-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/lang-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/lang-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "Ubuntu")) ])+, ParBreak+, Comment+, Comment+, Comment+, Comment+, Text "\1041\1073"+, SoftBreak+, Code+    "typ/text/lang-01.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "uk"))+       , BlockArg [ Text "\1041\1073" ]+       ])+, SoftBreak+, Code+    "typ/text/lang-01.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "sr"))+       , BlockArg [ Text "\1041\1073" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Бб+], +                      font: "Ubuntu"), +                 text(body: text(body: [Бб], +                                 font: "Ubuntu"), +                      font: "Ubuntu", +                      lang: "uk"), +                 text(body: [+], +                      font: "Ubuntu"), +                 text(body: text(body: [Бб], +                                 font: "Ubuntu"), +                      font: "Ubuntu", +                      lang: "sr"), +                 parbreak() })
+ test/typ/text/lang-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/lang-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/lang-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/lang-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/lang-with-region-00.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/text/lang-with-region-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/lang-with-region-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/lang-with-region-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/lang-with-region-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "zh")) ])+, SoftBreak+, Code+    "typ/text/lang-with-region-00.typ"+    ( line 4 , column 2 )+    (FuncCall (Ident (Identifier "outline")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], lang: "zh"), +                 outline(), +                 parbreak() })
+ test/typ/text/lang-with-region-01.out view
@@ -0,0 +1,66 @@+--- parse tree ---+[ Code+    "typ/text/lang-with-region-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/lang-with-region-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/lang-with-region-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/lang-with-region-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "zh"))+       , KeyValArg (Identifier "region") (Literal (String "XX"))+       ])+, SoftBreak+, Code+    "typ/text/lang-with-region-01.typ"+    ( line 4 , column 2 )+    (FuncCall (Ident (Identifier "outline")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      lang: "zh", +                      region: "XX"), +                 outline(), +                 parbreak() })
+ test/typ/text/lang-with-region-02.out view
@@ -0,0 +1,66 @@+--- parse tree ---+[ Code+    "typ/text/lang-with-region-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/lang-with-region-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/lang-with-region-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/lang-with-region-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "zh"))+       , KeyValArg (Identifier "region") (Literal (String "TW"))+       ])+, SoftBreak+, Code+    "typ/text/lang-with-region-02.typ"+    ( line 4 , column 2 )+    (FuncCall (Ident (Identifier "outline")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      lang: "zh", +                      region: "TW"), +                 outline(), +                 parbreak() })
+ test/typ/text/linebreak-00.out view
@@ -0,0 +1,57 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "This"+, Space+, Text "is"+, Space+, Text "a"+, Space+, Text "spaceexceedinglylongy"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [This is a spaceexceedinglylongy.]), +                 parbreak() })
+ test/typ/text/linebreak-01.out view
@@ -0,0 +1,53 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Supercalifragilisticexpialidocious"+, Space+, Text "Expialigoricmetrioxidation"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Supercalifragilisticexpialidocious Expialigoricmetrioxidation.]), +                 parbreak() })
+ test/typ/text/linebreak-02.out view
@@ -0,0 +1,64 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "This"+, Space+, Text "is"+, Space+, Text "partly"+, Space+, Text "emp"+, Code+    "typ/text/linebreak-02.typ"+    ( line 3 , column 20 )+    (FuncCall (Ident (Identifier "emph")) [ BlockArg [ Text "has" ] ])+, Text "ized"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [This is partly emp]), +                 emph(body: text(body: [has])), +                 text(body: [ized.]), +                 parbreak() })
+ test/typ/text/linebreak-03.out view
@@ -0,0 +1,58 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Text "Hard"+, Space+, Code+    "typ/text/linebreak-03.typ"+    ( line 2 , column 7 )+    (FuncCall (Ident (Identifier "linebreak")) [])+, Space+, Text "break"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+Hard ]), +                 linebreak(), +                 text(body: [ break.]), +                 parbreak() })
+ test/typ/text/linebreak-04.out view
@@ -0,0 +1,64 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Hard"+, Space+, Text "break"+, Space+, Text "directly"+, Space+, Text "after"+, Space+, HardBreak+, Text "normal"+, Space+, Text "break"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Hard break directly after ]), +                 linebreak(), +                 text(body: [normal break.]), +                 parbreak() })
+ test/typ/text/linebreak-05.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Two"+, Space+, Text "consecutive"+, Space+, HardBreak+, HardBreak+, Text "breaks"+, Space+, Text "and"+, Space+, Text "three"+, Space+, HardBreak+, HardBreak+, Text "more"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Two consecutive ]), +                 linebreak(), +                 linebreak(), +                 text(body: [breaks and three ]), +                 linebreak(), +                 linebreak(), +                 text(body: [more.]), +                 parbreak() })
+ test/typ/text/linebreak-06.out view
@@ -0,0 +1,57 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Trailing"+, Space+, Text "break"+, Space+, HardBreak+, HardBreak+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Trailing break ]), +                 linebreak(), +                 linebreak(), +                 parbreak() })
+ test/typ/text/linebreak-07.out view
@@ -0,0 +1,113 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/linebreak-07.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Text "With"+, Space+, Text "a"+, Space+, Text "soft"+, Space+, Code+    "typ/text/linebreak-07.typ"+    ( line 4 , column 14 )+    (FuncCall+       (Ident (Identifier "linebreak"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Text "break"+, Space+, Text "you"+, Space+, Text "can"+, Space+, Text "force"+, Space+, Text "a"+, Space+, Text "break"+, Space+, Text "without"+, Space+, Code+    "typ/text/linebreak-07.typ"+    ( line 5 , column 38 )+    (FuncCall+       (Ident (Identifier "linebreak"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True)) ])+, SoftBreak+, Text "breaking"+, Space+, Text "justification"+, Text "."+, Space+, Code+    "typ/text/linebreak-07.typ"+    ( line 6 , column 26 )+    (FuncCall+       (Ident (Identifier "linebreak"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean False)) ])+, SoftBreak+, Text "Nice!"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+With a soft ]), +                 linebreak(justify: true), +                 text(body: [+break you can force a break without ]), +                 linebreak(justify: true), +                 text(body: [+breaking justification. ]), +                 linebreak(justify: false), +                 text(body: [+Nice!]), +                 parbreak() })
+ test/typ/text/linebreak-08.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-08.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-08.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-08.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "First"+, Space+, Text "part"+, Comment+, Text "Second"+, Space+, Text "part"+, ParBreak+, Comment+, Text "First"+, Space+, Text "part"+, Space+, Comment+, Text "Second"+, Space+, Text "part"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [First part]), +                 text(body: [Second part]), +                 parbreak(), +                 text(body: [First part ]), +                 text(body: [Second part]), +                 parbreak() })
+ test/typ/text/linebreak-obj-00.out view
@@ -0,0 +1,97 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-obj-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-obj-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-obj-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/linebreak-obj-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 162.0 Pt)) ])+, ParBreak+, Text "They"+, Space+, Text "can"+, Space+, Text "look"+, Space+, Text "for"+, Space+, Text "the"+, Space+, Text "details"+, Space+, Text "in"+, Space+, Ref "netwok" (Literal Auto)+, Text ","+, SoftBreak+, Text "which"+, Space+, Text "is"+, Space+, Text "the"+, Space+, Text "authoritative"+, Space+, Text "source"+, Text "."+, ParBreak+, Code+    "typ/text/linebreak-obj-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "bibliography"))+       [ NormalArg (Literal (String "/works.bib")) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [They can look for the details in ]), +                 ref(supplement: auto, +                     target: <netwok>), +                 text(body: [,+which is the authoritative source.]), +                 parbreak(), +                 bibliography(path: "/works.bib"), +                 parbreak() })
+ test/typ/text/linebreak-obj-01.out view
@@ -0,0 +1,198 @@+--- parse tree ---+[ Code+    "typ/text/linebreak-obj-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/linebreak-obj-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/linebreak-obj-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/linebreak-obj-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 85.0 Pt)) ])+, ParBreak+, Text "We"+, Space+, Text "prove"+, Space+, Equation False [ Text "1" , Text "<" , Text "2" ]+, Text "."+, Space+, HardBreak+, Text "We"+, Space+, Text "prove"+, Space+, Equation False [ Text "1" , Text "<" , Text "2" ]+, Text "!"+, Space+, HardBreak+, Text "We"+, Space+, Text "prove"+, Space+, Equation False [ Text "1" , Text "<" , Text "2" ]+, Text "?"+, Space+, HardBreak+, Text "We"+, Space+, Text "prove"+, Space+, Equation False [ Text "1" , Text "<" , Text "2" ]+, Text ","+, Space+, HardBreak+, Text "We"+, Space+, Text "prove"+, Space+, Equation False [ Text "1" , Text "<" , Text "2" ]+, Text ";"+, Space+, HardBreak+, Text "We"+, Space+, Text "prove"+, Space+, Equation False [ Text "1" , Text "<" , Text "2" ]+, Text ":"+, Space+, HardBreak+, Text "We"+, Space+, Text "prove"+, Space+, Equation False [ Text "1" , Text "<" , Text "2" ]+, Text "-"+, Space+, HardBreak+, Text "We"+, Space+, Text "prove"+, Space+, Equation False [ Text "1" , Text "<" , Text "2" ]+, Text "\8211"+, Space+, HardBreak+, Text "We"+, Space+, Text "prove"+, Space+, Equation False [ Text "1" , Text "<" , Text "2" ]+, Text "\8212"+, Space+, HardBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [We prove ]), +                 math.equation(block: false, +                               body: { text(body: [1]), +                                       text(body: [<]), +                                       text(body: [2]) }, +                               numbering: none), +                 text(body: [. ]), +                 linebreak(), +                 text(body: [We prove ]), +                 math.equation(block: false, +                               body: { text(body: [1]), +                                       text(body: [<]), +                                       text(body: [2]) }, +                               numbering: none), +                 text(body: [! ]), +                 linebreak(), +                 text(body: [We prove ]), +                 math.equation(block: false, +                               body: { text(body: [1]), +                                       text(body: [<]), +                                       text(body: [2]) }, +                               numbering: none), +                 text(body: [? ]), +                 linebreak(), +                 text(body: [We prove ]), +                 math.equation(block: false, +                               body: { text(body: [1]), +                                       text(body: [<]), +                                       text(body: [2]) }, +                               numbering: none), +                 text(body: [, ]), +                 linebreak(), +                 text(body: [We prove ]), +                 math.equation(block: false, +                               body: { text(body: [1]), +                                       text(body: [<]), +                                       text(body: [2]) }, +                               numbering: none), +                 text(body: [; ]), +                 linebreak(), +                 text(body: [We prove ]), +                 math.equation(block: false, +                               body: { text(body: [1]), +                                       text(body: [<]), +                                       text(body: [2]) }, +                               numbering: none), +                 text(body: [: ]), +                 linebreak(), +                 text(body: [We prove ]), +                 math.equation(block: false, +                               body: { text(body: [1]), +                                       text(body: [<]), +                                       text(body: [2]) }, +                               numbering: none), +                 text(body: [- ]), +                 linebreak(), +                 text(body: [We prove ]), +                 math.equation(block: false, +                               body: { text(body: [1]), +                                       text(body: [<]), +                                       text(body: [2]) }, +                               numbering: none), +                 text(body: [– ]), +                 linebreak(), +                 text(body: [We prove ]), +                 math.equation(block: false, +                               body: { text(body: [1]), +                                       text(body: [<]), +                                       text(body: [2]) }, +                               numbering: none), +                 text(body: [— ]), +                 linebreak() })
+ test/typ/text/lorem-00.out view
@@ -0,0 +1,54 @@+--- parse tree ---+[ Code+    "typ/text/lorem-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/lorem-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/lorem-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/lorem-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 19)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.]), +                 parbreak() })
+ test/typ/text/lorem-01.out view
@@ -0,0 +1,127 @@+--- parse tree ---+[ Code+    "typ/text/lorem-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/lorem-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/lorem-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/lorem-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 8.0 Pt)) ])+, ParBreak+, Code+    "typ/text/lorem-01.typ"+    ( line 5 , column 2 )+    (Block+       (CodeBlock+          [ Let+              (BasicBind (Just (Identifier "sentences")))+              (FuncCall+                 (FieldAccess+                    (Ident (Identifier "map"))+                    (FuncCall+                       (FieldAccess+                          (Ident (Identifier "filter"))+                          (FuncCall+                             (FieldAccess+                                (Ident (Identifier "split"))+                                (FuncCall+                                   (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 59)) ]))+                             [ NormalArg (Literal (String ".")) ]))+                       [ NormalArg+                           (FuncExpr+                              [ NormalParam (Identifier "s") ]+                              (Not (Equals (Ident (Identifier "s")) (Literal (String "")))))+                       ]))+                 [ NormalArg+                     (FuncExpr+                        [ NormalParam (Identifier "s") ]+                        (Plus (Ident (Identifier "s")) (Literal (String "."))))+                 ])+          , Let (BasicBind (Just (Identifier "used"))) (Literal (Int 0))+          , For+              (BasicBind (Just (Identifier "s")))+              (Ident (Identifier "sentences"))+              (Block+                 (CodeBlock+                    [ If+                        [ ( LessThan (Ident (Identifier "used")) (Literal (Int 2))+                          , Block+                              (CodeBlock+                                 [ Assign+                                     (Ident (Identifier "used"))+                                     (Plus (Ident (Identifier "used")) (Literal (Int 1)))+                                 ])+                          )+                        , ( Literal (Boolean True)+                          , Block+                              (CodeBlock+                                 [ FuncCall (Ident (Identifier "parbreak")) []+                                 , Assign (Ident (Identifier "used")) (Literal (Int 0))+                                 ])+                          )+                        ]+                    , FuncCall+                        (FieldAccess (Ident (Identifier "trim")) (Ident (Identifier "s")))+                        []+                    , Block (Content [ Space ])+                    ]))+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.], +                      size: 8.0pt), +                 text(body: [ ], size: 8.0pt), +                 text(body: [Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.], +                      size: 8.0pt), +                 text(body: [ ], size: 8.0pt), +                 parbreak(), +                 text(body: [Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.], +                      size: 8.0pt), +                 text(body: [ ], size: 8.0pt), +                 text(body: [Excepteur sint occaecat cupidatat non proident, sunt.], +                      size: 8.0pt), +                 text(body: [ ], size: 8.0pt), +                 parbreak() })
+ test/typ/text/lorem-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/microtype-00.out view
@@ -0,0 +1,213 @@+--- parse tree ---+[ Code+    "typ/text/microtype-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/microtype-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/microtype-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/microtype-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 130.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 15.0 Pt))+       ])+, SoftBreak+, Code+    "typ/text/microtype-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "par"))+       [ KeyValArg (Identifier "justify") (Literal (Boolean True))+       , KeyValArg (Identifier "linebreaks") (Literal (String "simple"))+       ])+, SoftBreak+, Code+    "typ/text/microtype-00.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "size") (Literal (Numeric 9.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/microtype-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))+       , KeyValArg+           (Identifier "fill")+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (Int 0))+              , NormalArg (Literal (Int 0))+              , NormalArg (Literal (Int 0))+              , NormalArg (Literal (Int 0))+              ])+       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , BlockArg+           [ SoftBreak+           , Text "This"+           , Space+           , Text "is"+           , Space+           , Text "a"+           , Space+           , Text "little"+           , Space+           , Text "bit"+           , Space+           , Text "of"+           , Space+           , Text "text"+           , Space+           , Text "that"+           , Space+           , Text "builds"+           , Space+           , Text "up"+           , Space+           , Text "to"+           , SoftBreak+           , Text "hang"+           , Text "-"+           , Text "ing"+           , Space+           , Text "hyphens"+           , Space+           , Text "and"+           , Space+           , Text "dash"+           , EmDash+           , Text "es"+           , Space+           , Text "and"+           , Space+           , Text "then,"+           , Space+           , Text "you"+           , Space+           , Text "know,"+           , SoftBreak+           , Text "some"+           , Space+           , Text "punctuation"+           , Space+           , Text "in"+           , Space+           , Text "the"+           , Space+           , Text "margin"+           , Text "."+           , ParBreak+           ]+       ])+, ParBreak+, Comment+, Code+    "typ/text/microtype-00.typ"+    ( line 13 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "he"))+       , KeyValArg+           (Identifier "font")+           (Array+              [ Reg (Literal (String "PT Sans"))+              , Reg (Literal (String "Noto Serif Hebrew"))+              ])+       ])+, SoftBreak+, Text "\1489\1504\1497\1497\1492"+, Space+, Text "\1504\1499\1493\1504\1492"+, Space+, Text "\1513\1500"+, Space+, Text "\1502\1513\1508\1496\1497\1501"+, Space+, Text "\1488\1512\1493\1499\1497\1501"+, Space+, Text "\1491\1493\1512\1513\1514"+, Space+, Text "\1497\1491\1506"+, Space+, Text "\1489\1513\1508\1492"+, Text "."+, Space+, Text "\1488\1494"+, Space+, Text "\1489\1493\1488\1493"+, Space+, Text "\1504\1491\1489\1512"+, Space+, Text "\1506\1500"+, Space+, Text "\1502\1494\1490"+, Space+, Text "\1492\1488\1493\1493\1497\1512"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+], size: 9.0pt), +                 rect(body: { text(body: [+This is a little bit of text that builds up to+hang-ing hyphens and dash—es and then, you know,+some punctuation in the margin.], +                                   size: 9.0pt), +                              parbreak() }, +                      fill: rgb(0%,0%,0%,0%), +                      inset: 0.0pt, +                      width: 100%), +                 parbreak(), +                 text(body: [+בנייה נכונה של משפטים ארוכים דורשת ידע בשפה. אז בואו נדבר על מזג האוויר.], +                      font: ("PT Sans", +                             "Noto Serif Hebrew"), +                      lang: "he", +                      size: 9.0pt), +                 parbreak() })
+ test/typ/text/microtype-01.out view
@@ -0,0 +1,76 @@+--- parse tree ---+[ Code+    "typ/text/microtype-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/microtype-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/microtype-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/microtype-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/microtype-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "end")) ])+, SoftBreak+, Code+    "typ/text/microtype-01.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl")) ])+, SoftBreak+, Text ":"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+:], dir: rtl), +                 parbreak() })
+ test/typ/text/quotes-00.out view
@@ -0,0 +1,500 @@+--- parse tree ---+[ Code+    "typ/text/quotes-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/quotes-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/quotes-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/quotes-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 250.0 Pt)) ])+, ParBreak+, Comment+, Code+    "typ/text/quotes-00.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "en")) ])+, SoftBreak+, Quote '"'+, Text "The"+, Space+, Text "horse"+, Space+, Text "eats"+, Space+, Text "no"+, Space+, Text "cucumber"+, Space+, Text "salad"+, Quote '"'+, Space+, Text "was"+, Space+, Text "the"+, Space+, Text "first"+, Space+, Text "sentence"+, Space+, Text "ever"+, Space+, Text "uttered"+, Space+, Text "on"+, Space+, Text "the"+, Space+, Quote '\''+, Text "telephone"+, Text "."+, Quote '\''+, ParBreak+, Code+    "typ/text/quotes-00.typ"+    ( line 8 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "de")) ])+, SoftBreak+, Quote '"'+, Text "Das"+, Space+, Text "Pferd"+, Space+, Text "frisst"+, Space+, Text "keinen"+, Space+, Text "Gurkensalat"+, Quote '"'+, Space+, Text "war"+, Space+, Text "der"+, Space+, Text "erste"+, Space+, Text "jemals"+, Space+, Text "am"+, Space+, Quote '\''+, Text "Fernsprecher"+, Quote '\''+, Space+, Text "gesagte"+, Space+, Text "Satz"+, Text "."+, ParBreak+, Code+    "typ/text/quotes-00.typ"+    ( line 11 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "de"))+       , KeyValArg (Identifier "region") (Literal (String "CH"))+       ])+, SoftBreak+, Quote '"'+, Text "Das"+, Space+, Text "Pferd"+, Space+, Text "frisst"+, Space+, Text "keinen"+, Space+, Text "Gurkensalat"+, Quote '"'+, Space+, Text "war"+, Space+, Text "der"+, Space+, Text "erste"+, Space+, Text "jemals"+, Space+, Text "am"+, Space+, Quote '\''+, Text "Fernsprecher"+, Quote '\''+, Space+, Text "gesagte"+, Space+, Text "Satz"+, Text "."+, ParBreak+, Code+    "typ/text/quotes-00.typ"+    ( line 14 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "es"))+       , KeyValArg (Identifier "region") (Literal None)+       ])+, SoftBreak+, Quote '"'+, Text "El"+, Space+, Text "caballo"+, Space+, Text "no"+, Space+, Text "come"+, Space+, Text "ensalada"+, Space+, Text "de"+, Space+, Text "pepino"+, Quote '"'+, Space+, Text "fue"+, Space+, Text "la"+, Space+, Text "primera"+, Space+, Text "frase"+, Space+, Text "pronunciada"+, Space+, Text "por"+, Space+, Quote '\''+, Text "tel\233fono"+, Quote '\''+, Text "."+, ParBreak+, Code+    "typ/text/quotes-00.typ"+    ( line 17 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "es"))+       , KeyValArg (Identifier "region") (Literal (String "MX"))+       ])+, SoftBreak+, Quote '"'+, Text "El"+, Space+, Text "caballo"+, Space+, Text "no"+, Space+, Text "come"+, Space+, Text "ensalada"+, Space+, Text "de"+, Space+, Text "pepino"+, Quote '"'+, Space+, Text "fue"+, Space+, Text "la"+, Space+, Text "primera"+, Space+, Text "frase"+, Space+, Text "pronunciada"+, Space+, Text "por"+, Space+, Quote '\''+, Text "tel\233fono"+, Quote '\''+, Text "."+, ParBreak+, Code+    "typ/text/quotes-00.typ"+    ( line 20 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "fr"))+       , KeyValArg (Identifier "region") (Literal None)+       ])+, SoftBreak+, Quote '"'+, Text "Le"+, Space+, Text "cheval"+, Space+, Text "ne"+, Space+, Text "mange"+, Space+, Text "pas"+, Space+, Text "de"+, Space+, Text "salade"+, Space+, Text "de"+, Space+, Text "concombres"+, Quote '"'+, Space+, Text "est"+, Space+, Text "la"+, Space+, Text "premi\232re"+, Space+, Text "phrase"+, Space+, Text "jamais"+, Space+, Text "prononc\233e"+, Space+, Text "au"+, Space+, Quote '\''+, Text "t\233l\233phone"+, Quote '\''+, Text "."+, ParBreak+, Code+    "typ/text/quotes-00.typ"+    ( line 23 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "fi")) ])+, SoftBreak+, Quote '"'+, Text "Hevonen"+, Space+, Text "ei"+, Space+, Text "sy\246"+, Space+, Text "kurkkusalaattia"+, Quote '"'+, Space+, Text "oli"+, Space+, Text "ensimm\228inen"+, Space+, Text "koskaan"+, Space+, Quote '\''+, Text "puhelimessa"+, Quote '\''+, Space+, Text "lausuttu"+, Space+, Text "lause"+, Text "."+, ParBreak+, Code+    "typ/text/quotes-00.typ"+    ( line 26 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "he")) ])+, SoftBreak+, Quote '"'+, Text "\1492\1505\1493\1505"+, Space+, Text "\1500\1488"+, Space+, Text "\1488\1493\1499\1500"+, Space+, Text "\1505\1500\1496"+, Space+, Text "\1502\1500\1508\1508\1493\1504\1497\1501"+, Quote '"'+, Space+, Text "\1492\1497\1492"+, Space+, Text "\1492\1502\1513\1508\1496"+, Space+, Text "\1492\1492\1512\1488\1513\1493\1503"+, Space+, Text "\1513\1504\1488\1502\1512"+, Space+, Text "\1489"+, Space+, Quote '\''+, Text "\1496\1500\1508\1493\1503"+, Quote '\''+, Text "."+, ParBreak+, Code+    "typ/text/quotes-00.typ"+    ( line 29 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "ro")) ])+, SoftBreak+, Quote '"'+, Text "Calul"+, Space+, Text "nu"+, Space+, Text "m\259n\226nc\259"+, Space+, Text "salat\259"+, Space+, Text "de"+, Space+, Text "castrave\539i"+, Quote '"'+, Space+, Text "a"+, Space+, Text "fost"+, Space+, Text "prima"+, Space+, Text "propozi\539ie"+, Space+, Text "rostit\259"+, Space+, Text "vreodat\259"+, Space+, Text "la"+, Space+, Quote '\''+, Text "telefon"+, Quote '\''+, Text "."+, ParBreak+, Code+    "typ/text/quotes-00.typ"+    ( line 32 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "ru")) ])+, SoftBreak+, Quote '"'+, Text "\1051\1086\1096\1072\1076\1100"+, Space+, Text "\1085\1077"+, Space+, Text "\1077\1089\1090"+, Space+, Text "\1089\1072\1083\1072\1090"+, Space+, Text "\1080\1079"+, Space+, Text "\1086\1075\1091\1088\1094\1086\1074"+, Quote '"'+, Space+, Text "-"+, Space+, Text "\1101\1090\1086"+, Space+, Text "\1073\1099\1083\1072"+, Space+, Text "\1087\1077\1088\1074\1072\1103"+, Space+, Text "\1092\1088\1072\1079\1072,"+, Space+, Text "\1089\1082\1072\1079\1072\1085\1085\1072\1103"+, Space+, Text "\1087\1086"+, Space+, Quote '\''+, Text "\1090\1077\1083\1077\1092\1086\1085\1091"+, Quote '\''+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [+“The horse eats no cucumber salad” was the first sentence ever uttered on the ‘telephone.’], +                      lang: "en"), +                 parbreak(), +                 text(body: [+“Das Pferd frisst keinen Gurkensalat” war der erste jemals am ‘Fernsprecher” gesagte Satz.], +                      lang: "de"), +                 parbreak(), +                 text(body: [+“Das Pferd frisst keinen Gurkensalat” war der erste jemals am ‘Fernsprecher” gesagte Satz.], +                      lang: "de", +                      region: "CH"), +                 parbreak(), +                 text(body: [+“El caballo no come ensalada de pepino” fue la primera frase pronunciada por ‘teléfono’.], +                      lang: "es", +                      region: none), +                 parbreak(), +                 text(body: [+“El caballo no come ensalada de pepino” fue la primera frase pronunciada por ‘teléfono’.], +                      lang: "es", +                      region: "MX"), +                 parbreak(), +                 text(body: [+“Le cheval ne mange pas de salade de concombres” est la première phrase jamais prononcée au ‘téléphone’.], +                      lang: "fr", +                      region: none), +                 parbreak(), +                 text(body: [+“Hevonen ei syö kurkkusalaattia” oli ensimmäinen koskaan ‘puhelimessa” lausuttu lause.], +                      lang: "fi", +                      region: none), +                 parbreak(), +                 text(body: [+“הסוס לא אוכל סלט מלפפונים” היה המשפט ההראשון שנאמר ב ‘טלפון’.], +                      lang: "he", +                      region: none), +                 parbreak(), +                 text(body: [+“Calul nu mănâncă salată de castraveți” a fost prima propoziție rostită vreodată la ‘telefon’.], +                      lang: "ro", +                      region: none), +                 parbreak(), +                 text(body: [+“Лошадь не ест салат из огурцов” - это была первая фраза, сказанная по ‘телефону’.], +                      lang: "ru", +                      region: none), +                 parbreak() })
+ test/typ/text/quotes-01.out view
@@ -0,0 +1,51 @@+--- parse tree ---+[ Code+    "typ/text/quotes-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/quotes-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/quotes-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Quote '"'+, Quote '"'+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [””]), +                 parbreak() })
+ test/typ/text/quotes-02.out view
@@ -0,0 +1,99 @@+--- parse tree ---+[ Code+    "typ/text/quotes-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/quotes-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/quotes-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "The"+, Space+, Text "5"+, Quote '\''+, Text "11"+, Quote '"'+, Space+, Quote '\''+, Text "quick"+, Quote '\''+, Space+, Text "brown"+, Space+, Text "fox"+, Space+, Text "jumps"+, Space+, Text "over"+, Space+, Text "the"+, Space+, Quote '"'+, Text "lazy"+, Quote '"'+, Space+, Text "dog"+, Quote '\''+, Text "s"+, Space+, Text "ear"+, Text "."+, ParBreak+, Text "He"+, Space+, Text "said"+, Space+, Quote '"'+, Text "I"+, Quote '\''+, Text "m"+, Space+, Text "a"+, Space+, Text "big"+, Space+, Text "fella"+, Text "."+, Quote '"'+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [The 5’11” ‘quick” brown fox jumps over the “lazy” dog’s ear.]), +                 parbreak(), +                 text(body: [He said “I’m a big fella.”]), +                 parbreak() })
+ test/typ/text/quotes-03.out view
@@ -0,0 +1,80 @@+--- parse tree ---+[ Code+    "typ/text/quotes-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/quotes-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/quotes-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "The"+, Space+, Text "5"+, Text "'"+, Text "11"+, Text "\""+, Space+, Quote '\''+, Text "quick"+, Text "'"+, Space+, Text "brown"+, Space+, Text "fox"+, Space+, Text "jumps"+, Space+, Text "over"+, Space+, Text "the"+, Space+, Text "\""+, Text "lazy"+, Quote '"'+, Space+, Text "dog"+, Text "'"+, Text "s"+, Space+, Text "ear"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [The 5'11" ‘quick' brown fox jumps over the "lazy” dog's ear.]), +                 parbreak() })
+ test/typ/text/quotes-04.out view
@@ -0,0 +1,100 @@+--- parse tree ---+[ Code+    "typ/text/quotes-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/quotes-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/quotes-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "He"+, Quote '\''+, Text "s"+, Space+, Text "told"+, Space+, Text "some"+, Space+, Text "books"+, Space+, Text "contain"+, Space+, Text "questionable"+, Space+, Quote '"'+, Text "example"+, Space+, Text "text"+, Quote '"'+, Text "."+, ParBreak+, Code+    "typ/text/quotes-04.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "smartquote"))+       [ KeyValArg (Identifier "enabled") (Literal (Boolean False)) ])+, SoftBreak+, Text "He"+, Quote '\''+, Text "s"+, Space+, Text "told"+, Space+, Text "some"+, Space+, Text "books"+, Space+, Text "contain"+, Space+, Text "questionable"+, Space+, Quote '"'+, Text "example"+, Space+, Text "text"+, Quote '"'+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [He’s told some books contain questionable “example text”.]), +                 parbreak(), +                 text(body: [+He’s told some books contain questionable “example text”.]), +                 parbreak() })
+ test/typ/text/quotes-05.out view
@@ -0,0 +1,128 @@+--- parse tree ---+[ Code+    "typ/text/quotes-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/quotes-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/quotes-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Quote '"'+, Text "She"+, Space+, Text "suddenly"+, Space+, Text "started"+, Space+, Text "speaking"+, Space+, Text "french"+, Text ":"+, Space+, Code+    "typ/text/quotes-05.typ"+    ( line 3 , column 41 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "lang") (Literal (String "fr"))+       , BlockArg+           [ Quote '\''+           , Text "Je"+           , Space+           , Text "suis"+           , Space+           , Text "une"+           , Space+           , Text "banane"+           , Text "."+           , Quote '\''+           ]+       ])+, Quote '"'+, Space+, Text "Roman"+, Space+, Text "told"+, Space+, Text "me"+, Text "."+, ParBreak+, Text "Some"+, Space+, Text "people"+, Quote '\''+, Text "s"+, Space+, Text "thought"+, Space+, Text "on"+, Space+, Text "this"+, Space+, Text "would"+, Space+, Text "be"+, Space+, Code+    "typ/text/quotes-05.typ"+    ( line 5 , column 41 )+    (Block+       (Content+          [ Code+              "typ/text/quotes-05.typ"+              ( line 5 , column 43 )+              (Set+                 (Ident (Identifier "smartquote"))+                 [ KeyValArg (Identifier "enabled") (Literal (Boolean False)) ])+          , Space+          , Quote '"'+          , Text "strange"+          , Text "."+          , Quote '"'+          ]))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [“She suddenly started speaking french: ]), +                 text(body: text(body: [‘Je suis une banane.’]), +                      lang: "fr"), +                 text(body: [” Roman told me.]), +                 parbreak(), +                 text(body: [Some people’s thought on this would be ]), +                 text(body: [ “strange.”]), +                 parbreak() })
+ test/typ/text/raw-00.out view
@@ -0,0 +1,56 @@+--- parse tree ---+[ Code+    "typ/text/raw-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, RawInline "A"+, RawInline "B"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 raw(block: false, +                     lang: none, +                     text: "A"), +                 raw(block: false, +                     lang: none, +                     text: "B"), +                 parbreak() })
+ test/typ/text/raw-01.out view
@@ -0,0 +1,60 @@+--- parse tree ---+[ Code+    "typ/text/raw-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, RawBlock "typ" "#let x = 1"+, Space+, HardBreak+, RawBlock "typ" "#f(1)"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 raw(block: true, +                     lang: "typ", +                     text: "#let x = 1"), +                 text(body: [ ]), +                 linebreak(), +                 raw(block: true, +                     lang: "typ", +                     text: "#f(1)"), +                 parbreak() })
+ test/typ/text/raw-02.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/text/raw-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Text "Text"+, SoftBreak+, RawBlock "rust" "fn code() {}\n"+, SoftBreak+, Text "Text"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Text+]), +                 raw(block: true, +                     lang: "rust", +                     text: "fn code() {}\n"), +                 text(body: [+Text]), +                 parbreak() })
+ test/typ/text/raw-03.out view
@@ -0,0 +1,52 @@+--- parse tree ---+[ Code+    "typ/text/raw-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, RawBlock "" "```backticks```\n"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 raw(block: true, +                     lang: none, +                     text: "```backticks```\n"), +                 parbreak() })
+ test/typ/text/raw-04.out view
@@ -0,0 +1,121 @@+--- parse tree ---+[ Code+    "typ/text/raw-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Text "The"+, Space+, Text "keyword"+, Space+, RawBlock "rust" "let"+, Text "."+, ParBreak+, Comment+, Text "("+, RawInline ""+, Text ")"+, Space+, HardBreak+, Text "("+, RawInline " untrimmed "+, Text ")"+, Space+, HardBreak+, Text "("+, RawBlock "" "trimmed` "+, Text ")"+, Space+, HardBreak+, Text "("+, RawBlock "" "trimmed "+, Text ")"+, Space+, HardBreak+, Text "("+, RawBlock "" "trimmed"+, Text ")"+, Space+, HardBreak+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [The keyword ]), +                 raw(block: true, +                     lang: "rust", +                     text: "let"), +                 text(body: [.]), +                 parbreak(), +                 text(body: [(]), +                 raw(block: false, +                     lang: none, +                     text: ""), +                 text(body: [) ]), +                 linebreak(), +                 text(body: [(]), +                 raw(block: false, +                     lang: none, +                     text: " untrimmed "), +                 text(body: [) ]), +                 linebreak(), +                 text(body: [(]), +                 raw(block: true, +                     lang: none, +                     text: "trimmed` "), +                 text(body: [) ]), +                 linebreak(), +                 text(body: [(]), +                 raw(block: true, +                     lang: none, +                     text: "trimmed "), +                 text(body: [) ]), +                 linebreak(), +                 text(body: [(]), +                 raw(block: true, +                     lang: none, +                     text: "trimmed"), +                 text(body: [) ]), +                 linebreak(), +                 parbreak() })
+ test/typ/text/raw-05.out view
@@ -0,0 +1,52 @@+--- parse tree ---+[ Code+    "typ/text/raw-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, RawInline "rust let"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 raw(block: false, +                     lang: none, +                     text: "rust let"), +                 parbreak() })
+ test/typ/text/raw-06.out view
@@ -0,0 +1,54 @@+--- parse tree ---+[ Code+    "typ/text/raw-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Space+, RawBlock "" "  A\n        B\n       C\n     "+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [ ]), +                 raw(block: true, +                     lang: none, +                     text: "  A\n        B\n       C\n     "), +                 parbreak() })
+ test/typ/text/raw-07.out view
@@ -0,0 +1,63 @@+--- parse tree ---+[ Code+    "typ/text/raw-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/raw-07.typ"+    ( line 3 , column 2 )+    (Show+       (Just (Ident (Identifier "raw")))+       (Set+          (Ident (Identifier "text"))+          [ KeyValArg (Identifier "font") (Literal (String "Roboto")) ]))+, SoftBreak+, RawInline "Roboto"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 raw(block: false, +                     lang: none, +                     text: "Roboto"), +                 parbreak() })
+ test/typ/text/raw-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/raw-align-00.out view
@@ -0,0 +1,98 @@+--- parse tree ---+[ Code+    "typ/text/raw-align-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-align-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-align-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/raw-align-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center")) ])+, SoftBreak+, Code+    "typ/text/raw-align-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/raw-align-00.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 6.0 Pt)) ])+, ParBreak+, Code+    "typ/text/raw-align-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])+, ParBreak+, RawBlock+    "py"+    "def something(x):\n  return x\n\na = 342395823859823958329\nb = 324923\n"+, ParBreak+, Code+    "typ/text/raw-align-00.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut], +                      size: 6.0pt), +                 parbreak(), +                 raw(block: true, +                     lang: "py", +                     text: "def something(x):\n  return x\n\na = 342395823859823958329\nb = 324923\n"), +                 parbreak(), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut], +                      size: 6.0pt), +                 parbreak() })
+ test/typ/text/raw-align-01.out view
@@ -0,0 +1,107 @@+--- parse tree ---+[ Code+    "typ/text/raw-align-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-align-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-align-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/raw-align-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/raw-align-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 6.0 Pt)) ])+, ParBreak+, Code+    "typ/text/raw-align-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])+, SoftBreak+, Code+    "typ/text/raw-align-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "raw"))+              [ KeyValArg (Identifier "lang") (Literal (String "typ"))+              , KeyValArg (Identifier "block") (Literal (Boolean True))+              , KeyValArg (Identifier "align") (Ident (Identifier "right"))+              , NormalArg+                  (Literal+                     (String "#let f(x) = x\n#align(center, line(length: 1em))"))+              ])+       ])+, SoftBreak+, Code+    "typ/text/raw-align-01.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "lorem")) [ NormalArg (Literal (Int 20)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut], +                      size: 6.0pt), +                 text(body: [+], size: 6.0pt), +                 align(alignment: center, +                       body: raw(align: right, +                                 block: true, +                                 lang: "typ", +                                 text: "#let f(x) = x\n#align(center, line(length: 1em))")), +                 text(body: [+], size: 6.0pt), +                 text(body: [Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut], +                      size: 6.0pt), +                 parbreak() })
+ test/typ/text/raw-align-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/raw-code-00.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/text/raw-code-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-code-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-code-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/raw-code-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/raw-code-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 6.0 Pt)) ])+, SoftBreak+, RawBlock+    "typ"+    "= Chapter 1\n#lorem(100)\n\n#let hi = \"Hello World\"\n#show heading: emph\n"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], size: 6.0pt), +                 raw(block: true, +                     lang: "typ", +                     text: "= Chapter 1\n#lorem(100)\n\n#let hi = \"Hello World\"\n#show heading: emph\n"), +                 parbreak() })
+ test/typ/text/raw-code-01.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/text/raw-code-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-code-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-code-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/raw-code-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/raw-code-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 6.0 Pt)) ])+, ParBreak+, RawBlock+    "rust"+    "/// A carefully designed state machine.\n#[derive(Debug)]\nenum State<'a> { A(u8), B(&'a str) }\n\nfn advance(state: State<'_>) -> State<'_> {\n    unimplemented!(\"state machine\")\n}\n"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 raw(block: true, +                     lang: "rust", +                     text: "/// A carefully designed state machine.\n#[derive(Debug)]\nenum State<'a> { A(u8), B(&'a str) }\n\nfn advance(state: State<'_>) -> State<'_> {\n    unimplemented!(\"state machine\")\n}\n"), +                 parbreak() })
+ test/typ/text/raw-code-02.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/text/raw-code-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-code-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-code-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/raw-code-02.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/raw-code-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 6.0 Pt)) ])+, ParBreak+, RawBlock "py" "import this\n\ndef hi():\n  print(\"Hi!\")\n"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 raw(block: true, +                     lang: "py", +                     text: "import this\n\ndef hi():\n  print(\"Hi!\")\n"), +                 parbreak() })
+ test/typ/text/raw-code-03.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/text/raw-code-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-code-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-code-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/raw-code-03.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/raw-code-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 6.0 Pt)) ])+, ParBreak+, RawBlock+    "cpp"+    "#include <iostream>\n\nint main() {\n  std::cout << \"Hello, world!\";\n}\n"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 raw(block: true, +                     lang: "cpp", +                     text: "#include <iostream>\n\nint main() {\n  std::cout << \"Hello, world!\";\n}\n"), +                 parbreak() })
+ test/typ/text/raw-code-04.out view
@@ -0,0 +1,102 @@+--- parse tree ---+[ Code+    "typ/text/raw-code-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/raw-code-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/raw-code-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/raw-code-04.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 180.0 Pt)) ])+, SoftBreak+, Code+    "typ/text/raw-code-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 6.0 Pt)) ])+, ParBreak+, Code+    "typ/text/raw-code-04.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg+           (Identifier "inset")+           (Dict+              [ Reg ( Ident (Identifier "x") , Literal (Numeric 4.0 Pt) )+              , Reg ( Ident (Identifier "y") , Literal (Numeric 5.0 Pt) )+              ])+       , KeyValArg (Identifier "radius") (Literal (Numeric 4.0 Pt))+       , KeyValArg+           (Identifier "fill")+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (Int 239))+              , NormalArg (Literal (Int 241))+              , NormalArg (Literal (Int 243))+              ])+       , BlockArg+           [ SoftBreak+           , RawBlock+               "html"+               "<!DOCTYPE html>\n  <html>\n    <head>\n      <meta charset=\"utf-8\">\n    </head>\n    <body>\n      <h1>Topic</h1>\n      <p>The Hypertext Markup Language.</p>\n      <script>\n        function foo(a, b) {\n          return a + b + \"string\";\n        }\n      </script>\n    </body>\n  </html>\n  "+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 rect(body: { text(body: [+], +                                   size: 6.0pt), +                              raw(block: true, +                                  lang: "html", +                                  text: "<!DOCTYPE html>\n  <html>\n    <head>\n      <meta charset=\"utf-8\">\n    </head>\n    <body>\n      <h1>Topic</h1>\n      <p>The Hypertext Markup Language.</p>\n      <script>\n        function foo(a, b) {\n          return a + b + \"string\";\n        }\n      </script>\n    </body>\n  </html>\n  "), +                              parbreak() }, +                      fill: rgb(93%,94%,95%,100%), +                      inset: (x: 4.0pt, y: 5.0pt), +                      radius: 4.0pt), +                 parbreak() })
+ test/typ/text/shaping-00.out view
@@ -0,0 +1,71 @@+--- parse tree ---+[ Code+    "typ/text/shaping-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/shaping-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/shaping-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "ABC\2309\2346\2366\2352\2381\2335\2350\2375\2306\2335"+, ParBreak+, Comment+, Text "\2309\2346\2366\2352\2381\2335\2350\2375\2306\2335"+, ParBreak+, Comment+, Comment+, Text "\2309"+, Space+, Text "\2346\2366"+, Space+, Text "\2352\2381"+, Space+, Text "\2335"+, Space+, Text "\2350\2375\2306"+, Space+, Text "\2335"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [ABCअपार्टमेंट]), +                 parbreak(), +                 text(body: [अपार्टमेंट]), +                 parbreak(), +                 text(body: [अ पा र् ट में ट]), +                 parbreak() })
+ test/typ/text/shaping-01.out view
@@ -0,0 +1,69 @@+--- parse tree ---+[ Code+    "typ/text/shaping-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/shaping-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/shaping-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/text/shaping-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "rtl"))+       , KeyValArg+           (Identifier "font") (Literal (String "Noto Serif Hebrew"))+       ])+, SoftBreak+, HardBreak+, Text "\1496"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      dir: rtl, +                      font: "Noto Serif Hebrew"), +                 linebreak(), +                 text(body: [ט], +                      dir: rtl, +                      font: "Noto Serif Hebrew"), +                 parbreak() })
+ test/typ/text/shift-00.out view
@@ -0,0 +1,163 @@+--- parse tree ---+[ Code+    "typ/text/shift-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/shift-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/shift-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/shift-00.typ"+    ( line 2 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg (Identifier "columns") (Literal (Int 3))+       , NormalArg (Block (Content [ Text "Typo" , Text "." ]))+       , NormalArg (Block (Content [ Text "Fallb" , Text "." ]))+       , NormalArg (Block (Content [ Text "Synth" ]))+       , NormalArg+           (Block+              (Content+                 [ Text "x"+                 , Code+                     "typ/text/shift-00.typ"+                     ( line 5 , column 6 )+                     (FuncCall (Ident (Identifier "super")) [ BlockArg [ Text "1" ] ])+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Text "x"+                 , Code+                     "typ/text/shift-00.typ"+                     ( line 5 , column 20 )+                     (FuncCall (Ident (Identifier "super")) [ BlockArg [ Text "5n" ] ])+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Text "x"+                 , Code+                     "typ/text/shift-00.typ"+                     ( line 5 , column 35 )+                     (FuncCall+                        (Ident (Identifier "super"))+                        [ BlockArg+                            [ Text "2"+                            , Space+                            , Code+                                "typ/text/shift-00.typ"+                                ( line 5 , column 44 )+                                (FuncCall+                                   (Ident (Identifier "box"))+                                   [ NormalArg+                                       (FuncCall+                                          (Ident (Identifier "square"))+                                          [ KeyValArg (Identifier "size") (Literal (Numeric 6.0 Pt))+                                          ])+                                   ])+                            ]+                        ])+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Text "x"+                 , Code+                     "typ/text/shift-00.typ"+                     ( line 6 , column 6 )+                     (FuncCall (Ident (Identifier "sub")) [ BlockArg [ Text "1" ] ])+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Text "x"+                 , Code+                     "typ/text/shift-00.typ"+                     ( line 6 , column 18 )+                     (FuncCall (Ident (Identifier "sub")) [ BlockArg [ Text "5n" ] ])+                 ]))+       , NormalArg+           (Block+              (Content+                 [ Text "x"+                 , Code+                     "typ/text/shift-00.typ"+                     ( line 6 , column 31 )+                     (FuncCall+                        (Ident (Identifier "sub"))+                        [ BlockArg+                            [ Text "2"+                            , Space+                            , Code+                                "typ/text/shift-00.typ"+                                ( line 6 , column 38 )+                                (FuncCall+                                   (Ident (Identifier "box"))+                                   [ NormalArg+                                       (FuncCall+                                          (Ident (Identifier "square"))+                                          [ KeyValArg (Identifier "size") (Literal (Numeric 6.0 Pt))+                                          ])+                                   ])+                            ]+                        ])+                 ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 table(children: (text(body: [Typo.]), +                                  text(body: [Fallb.]), +                                  text(body: [Synth]), +                                  { text(body: [x]), +                                    super(body: text(body: [1])) }, +                                  { text(body: [x]), +                                    super(body: text(body: [5n])) }, +                                  { text(body: [x]), +                                    super(body: { text(body: [2 ]), +                                                  box(body: square(size: 6.0pt)) }) }, +                                  { text(body: [x]), +                                    sub(body: text(body: [1])) }, +                                  { text(body: [x]), +                                    sub(body: text(body: [5n])) }, +                                  { text(body: [x]), +                                    sub(body: { text(body: [2 ]), +                                                box(body: square(size: 6.0pt)) }) }), +                       columns: 3), +                 parbreak() })
+ test/typ/text/shift-01.out view
@@ -0,0 +1,92 @@+--- parse tree ---+[ Code+    "typ/text/shift-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/shift-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/shift-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/shift-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "super"))+       [ KeyValArg (Identifier "typographic") (Literal (Boolean False))+       , KeyValArg+           (Identifier "baseline") (Negated (Literal (Numeric 0.25 Em)))+       , KeyValArg (Identifier "size") (Literal (Numeric 0.7 Em))+       ])+, SoftBreak+, Text "n"+, Code+    "typ/text/shift-01.typ"+    ( line 3 , column 3 )+    (FuncCall (Ident (Identifier "super")) [ BlockArg [ Text "1" ] ])+, Text ","+, Space+, Text "n"+, Code+    "typ/text/shift-01.typ"+    ( line 3 , column 15 )+    (FuncCall (Ident (Identifier "sub")) [ BlockArg [ Text "2" ] ])+, Text ","+, Space+, Ellipsis+, Space+, Text "n"+, Code+    "typ/text/shift-01.typ"+    ( line 3 , column 29 )+    (FuncCall (Ident (Identifier "super")) [ BlockArg [ Text "N" ] ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+n]), +                 super(baseline: -0.25em, +                       body: text(body: [1]), +                       size: 0.7em, +                       typographic: false), +                 text(body: [, n]), +                 sub(body: text(body: [2])), +                 text(body: [, … n]), +                 super(baseline: -0.25em, +                       body: text(body: [N]), +                       size: 0.7em, +                       typographic: false), +                 parbreak() })
+ test/typ/text/shift-02.out view
@@ -0,0 +1,155 @@+--- parse tree ---+[ Code+    "typ/text/shift-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/shift-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/shift-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/shift-02.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "underline"))+       [ KeyValArg (Identifier "stroke") (Literal (Numeric 0.5 Pt))+       , KeyValArg (Identifier "offset") (Literal (Numeric 0.15 Em))+       ])+, SoftBreak+, Code+    "typ/text/shift-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "underline"))+       [ BlockArg+           [ Text "The"+           , Space+           , Text "claim"+           , Code+               "typ/text/shift-02.typ"+               ( line 3 , column 22 )+               (FuncCall+                  (Ident (Identifier "super"))+                  [ BlockArg [ Text "[" , Text "4" , Text "]" ] ])+           ]+       ])+, Space+, Text "has"+, Space+, Text "been"+, Space+, Text "disputed"+, Text "."+, Space+, HardBreak+, Text "The"+, Space+, Text "claim"+, Code+    "typ/text/shift-02.typ"+    ( line 4 , column 11 )+    (FuncCall+       (Ident (Identifier "super"))+       [ BlockArg+           [ Code+               "typ/text/shift-02.typ"+               ( line 4 , column 18 )+               (FuncCall+                  (Ident (Identifier "underline"))+                  [ BlockArg [ Text "[" , Text "4" , Text "]" ] ])+           ]+       ])+, Space+, Text "has"+, Space+, Text "been"+, Space+, Text "disputed"+, Text "."+, Space+, HardBreak+, Text "It"+, Space+, Text "really"+, Space+, Text "has"+, Space+, Text "been"+, Code+    "typ/text/shift-02.typ"+    ( line 5 , column 20 )+    (FuncCall+       (Ident (Identifier "super"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "box"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "text"))+                     [ KeyValArg (Identifier "baseline") (Literal (Numeric 0.0 Pt))+                     , NormalArg+                         (FuncCall+                            (Ident (Identifier "underline"))+                            [ BlockArg [ Text "[" , Text "4" , Text "]" ] ])+                     ])+              ])+       ])+, Space+, HardBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 underline(body: { text(body: [The claim]), +                                   super(body: text(body: [[4]])) }, +                           offset: 0.15em, +                           stroke: 0.5pt), +                 text(body: [ has been disputed. ]), +                 linebreak(), +                 text(body: [The claim]), +                 super(body: underline(body: text(body: [[4]]), +                                       offset: 0.15em, +                                       stroke: 0.5pt)), +                 text(body: [ has been disputed. ]), +                 linebreak(), +                 text(body: [It really has been]), +                 super(body: box(body: text(baseline: 0.0pt, +                                            body: underline(body: text(body: [[4]]), +                                                            offset: 0.15em, +                                                            stroke: 0.5pt)))), +                 text(body: [ ]), +                 linebreak() })
+ test/typ/text/space-00.out view
@@ -0,0 +1,241 @@+--- parse tree ---+[ Code+    "typ/text/space-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/space-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/space-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Code+    "typ/text/space-00.typ"+    ( line 3 , column 3 )+    (Let (BasicBind (Just (Identifier "x"))) (Literal (Int 1)))+, Text "B"+, Space+, Code+    "typ/text/space-00.typ"+    ( line 3 , column 17 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (Int 1))+       ])+, Space+, HardBreak+, Text "C"+, Space+, Code+    "typ/text/space-00.typ"+    ( line 4 , column 4 )+    (Let (BasicBind (Just (Identifier "x"))) (Literal (Int 2)))+, Text "D"+, Space+, Code+    "typ/text/space-00.typ"+    ( line 4 , column 17 )+    (FuncCall+       (Ident (Identifier "test"))+       [ NormalArg (Ident (Identifier "x"))+       , NormalArg (Literal (Int 2))+       ])+, Space+, HardBreak+, Text "E"+, Code+    "typ/text/space-00.typ"+    ( line 5 , column 3 )+    (If [ ( Literal (Boolean True) , Block (Content [ Text "F" ]) ) ])+, Text "G"+, Space+, HardBreak+, Text "H"+, Space+, Code+    "typ/text/space-00.typ"+    ( line 6 , column 4 )+    (If+       [ ( Literal (Boolean True)+         , Block (CodeBlock [ Literal (String "I") ])+         )+       ])+, Space+, Text "J"+, Space+, HardBreak+, Text "K"+, Space+, Code+    "typ/text/space-00.typ"+    ( line 7 , column 4 )+    (If+       [ ( Literal (Boolean True) , Block (Content [ Text "L" ]) )+       , ( Literal (Boolean True) , Block (Content []) )+       ])+, Text "M"+, Space+, HardBreak+, Code+    "typ/text/space-00.typ"+    ( line 8 , column 2 )+    (Let (BasicBind (Just (Identifier "c"))) (Literal (Boolean True)))+, Space+, Text "N"+, Code+    "typ/text/space-00.typ"+    ( line 8 , column 18 )+    (While+       (Ident (Identifier "c"))+       (Block+          (Content+             [ Code+                 "typ/text/space-00.typ"+                 ( line 8 , column 28 )+                 (Assign (Ident (Identifier "c")) (Literal (Boolean False)))+             , Text "O"+             ])))+, Space+, Text "P"+, Space+, HardBreak+, Code+    "typ/text/space-00.typ"+    ( line 9 , column 2 )+    (Let (BasicBind (Just (Identifier "c"))) (Literal (Boolean True)))+, Space+, Text "Q"+, Space+, Code+    "typ/text/space-00.typ"+    ( line 9 , column 19 )+    (While+       (Ident (Identifier "c"))+       (Block+          (CodeBlock+             [ Assign (Ident (Identifier "c")) (Literal (Boolean False))+             , Literal (String "R")+             ])))+, Space+, Text "S"+, Space+, HardBreak+, Text "T"+, Code+    "typ/text/space-00.typ"+    ( line 10 , column 3 )+    (For+       (BasicBind Nothing)+       (Array [ Reg (Literal None) ])+       (Block (CodeBlock [ Literal (String "U") ])))+, Text "V"+, SoftBreak+, Code+    "typ/text/space-00.typ"+    ( line 11 , column 2 )+    (Let (BasicBind (Just (Identifier "foo"))) (Literal (String "A")))+, Space+, HardBreak+, Code+    "typ/text/space-00.typ"+    ( line 12 , column 2 )+    (Ident (Identifier "foo"))+, Text "B"+, Space+, HardBreak+, Code+    "typ/text/space-00.typ"+    ( line 13 , column 2 )+    (Ident (Identifier "foo"))+, Space+, Text "B"+, Space+, HardBreak+, Code+    "typ/text/space-00.typ"+    ( line 14 , column 2 )+    (Ident (Identifier "foo"))+, Text "B"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A]), +                 text(body: [B ]), +                 text(body: [✅]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [C ]), +                 text(body: [D ]), +                 text(body: [✅]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [E]), +                 text(body: [F]), +                 text(body: [G ]), +                 linebreak(), +                 text(body: [H ]), +                 text(body: [I]), +                 text(body: [ J ]), +                 linebreak(), +                 text(body: [K ]), +                 text(body: [L]), +                 text(body: [M ]), +                 linebreak(), +                 text(body: [ N]), +                 text(body: [O]), +                 text(body: [ P ]), +                 linebreak(), +                 text(body: [ Q ]), +                 text(body: [R]), +                 text(body: [ S ]), +                 linebreak(), +                 text(body: [T]), +                 text(body: [U]), +                 text(body: [V+]), +                 text(body: [ ]), +                 linebreak(), +                 text(body: [A]), +                 text(body: [B ]), +                 linebreak(), +                 text(body: [A]), +                 text(body: [ B ]), +                 linebreak(), +                 text(body: [A]), +                 text(body: [B]), +                 parbreak() })
+ test/typ/text/space-01.out view
@@ -0,0 +1,82 @@+--- parse tree ---+[ Code+    "typ/text/space-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/space-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/space-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Comment+, Text "B"+, Comment+, Text "C"+, Space+, HardBreak+, Text "A"+, Space+, Comment+, Space+, Text "B"+, Comment+, Text "C"+, Space+, HardBreak+, Text "A"+, Space+, Comment+, Text "B"+, Comment+, Space+, Text "C"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A]), +                 text(body: [B]), +                 text(body: [C ]), +                 linebreak(), +                 text(body: [A ]), +                 text(body: [ B]), +                 text(body: [C ]), +                 linebreak(), +                 text(body: [A ]), +                 text(body: [B]), +                 text(body: [ C]), +                 parbreak() })
+ test/typ/text/space-02.out view
@@ -0,0 +1,62 @@+--- parse tree ---+[ Code+    "typ/text/space-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/space-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/space-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Code+    "typ/text/space-02.typ"+    ( line 3 , column 3 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))+       , BlockArg [ Space ]+       ])+, Text "B"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A]), +                 text(body: text(body: [ ]), +                      font: "IBM Plex Serif"), +                 text(body: [B]), +                 parbreak() })
+ test/typ/text/space-03.out view
@@ -0,0 +1,63 @@+--- parse tree ---+[ Code+    "typ/text/space-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/space-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/space-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "Left"+, Space+, Code+    "typ/text/space-03.typ"+    ( line 3 , column 7 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "IBM Plex Serif"))+       , BlockArg [ Text "Right" ]+       ])+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [Left ]), +                 text(body: text(body: [Right]), +                      font: "IBM Plex Serif"), +                 text(body: [.]), +                 parbreak() })
+ test/typ/text/space-04.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/text/space-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/space-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/space-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/space-04.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center"))+       , BlockArg+           [ Text "A"+           , Space+           , HardBreak+           , Text "B"+           , Space+           , HardBreak+           , Text "C"+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 align(alignment: center, +                       body: { text(body: [A ]), +                               linebreak(), +                               text(body: [B ]), +                               linebreak(), +                               text(body: [C]) }), +                 parbreak() })
+ test/typ/text/space-05.out view
@@ -0,0 +1,59 @@+--- parse tree ---+[ Code+    "typ/text/space-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/space-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/space-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Code+    "typ/text/space-05.typ"+    ( line 3 , column 3 )+    (Literal (String "\n"))+, Space+, Text "B"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A]), +                 text(body: [+]), +                 text(body: [ B]), +                 parbreak() })
+ test/typ/text/space-06.out view
@@ -0,0 +1,55 @@+--- parse tree ---+[ Code+    "typ/text/space-06.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/space-06.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/space-06.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "LLLLLLLLLLLLLLLLLL"+, Space+, Text "R"+, Space+, Emph [ Text "L" ]+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [LLLLLLLLLLLLLLLLLL R ]), +                 emph(body: text(body: [L])), +                 parbreak() })
+ test/typ/text/symbol-00.out view
@@ -0,0 +1,164 @@+--- parse tree ---+[ Code+    "typ/text/symbol-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/symbol-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/symbol-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/text/symbol-00.typ"+    ( line 2 , column 2 )+    (FieldAccess+       (Ident (Identifier "face")) (Ident (Identifier "emoji")))+, SoftBreak+, Code+    "typ/text/symbol-00.typ"+    ( line 3 , column 2 )+    (FieldAccess+       (Ident (Identifier "old"))+       (FieldAccess+          (Ident (Identifier "woman")) (Ident (Identifier "emoji"))))+, SoftBreak+, Code+    "typ/text/symbol-00.typ"+    ( line 4 , column 2 )+    (FieldAccess+       (Ident (Identifier "turtle")) (Ident (Identifier "emoji")))+, ParBreak+, Code+    "typ/text/symbol-00.typ"+    ( line 6 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font") (Literal (String "New Computer Modern Math"))+       ])+, SoftBreak+, Code+    "typ/text/symbol-00.typ"+    ( line 7 , column 2 )+    (FieldAccess+       (Ident (Identifier "arrow")) (Ident (Identifier "sym")))+, SoftBreak+, Code+    "typ/text/symbol-00.typ"+    ( line 8 , column 2 )+    (FieldAccess+       (Ident (Identifier "l"))+       (FieldAccess+          (Ident (Identifier "arrow")) (Ident (Identifier "sym"))))+, SoftBreak+, Code+    "typ/text/symbol-00.typ"+    ( line 9 , column 2 )+    (FieldAccess+       (Ident (Identifier "squiggly"))+       (FieldAccess+          (Ident (Identifier "r"))+          (FieldAccess+             (Ident (Identifier "arrow")) (Ident (Identifier "sym")))))+, SoftBreak+, Code+    "typ/text/symbol-00.typ"+    ( line 10 , column 2 )+    (FieldAccess+       (Ident (Identifier "hook"))+       (FieldAccess+          (Ident (Identifier "tr"))+          (FieldAccess+             (Ident (Identifier "arrow")) (Ident (Identifier "sym")))))+, ParBreak+, Code+    "typ/text/symbol-00.typ"+    ( line 12 , column 2 )+    (FieldAccess+       (Ident (Identifier "r"))+       (FieldAccess+          (Ident (Identifier "arrow")) (Ident (Identifier "sym"))))+, Text "this"+, Space+, Text "and"+, Space+, Text "this"+, Code+    "typ/text/symbol-00.typ"+    ( line 12 , column 28 )+    (FieldAccess+       (Ident (Identifier "l"))+       (FieldAccess+          (Ident (Identifier "arrow")) (Ident (Identifier "sym"))))+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [😀]), +                 text(body: [+]), +                 text(body: [👵]), +                 text(body: [+]), +                 text(body: [🐢]), +                 parbreak(), +                 text(body: [+], +                      font: "New Computer Modern Math"), +                 text(body: [→], +                      font: "New Computer Modern Math"), +                 text(body: [+], +                      font: "New Computer Modern Math"), +                 text(body: [←], +                      font: "New Computer Modern Math"), +                 text(body: [+], +                      font: "New Computer Modern Math"), +                 text(body: [⇝], +                      font: "New Computer Modern Math"), +                 text(body: [+], +                      font: "New Computer Modern Math"), +                 text(body: [⤤], +                      font: "New Computer Modern Math"), +                 parbreak(), +                 text(body: [→], +                      font: "New Computer Modern Math"), +                 text(body: [this and this], +                      font: "New Computer Modern Math"), +                 text(body: [←], +                      font: "New Computer Modern Math"), +                 parbreak() })
+ test/typ/text/symbol-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/text/tracking-spacing-00.out view
@@ -0,0 +1,74 @@+--- parse tree ---+[ Code+    "typ/text/tracking-spacing-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/tracking-spacing-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/tracking-spacing-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/tracking-spacing-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "tracking") (Negated (Literal (Numeric 1.0e-2 Em)))+       ])+, SoftBreak+, Text "I"+, Space+, Text "saw"+, Space+, Text "Zoe"+, Space+, Text "y\1243sterday,"+, Space+, Text "on"+, Space+, Text "the"+, Space+, Text "tram"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+I saw Zoe yӛsterday, on the tram.], +                      tracking: -1.0e-2em), +                 parbreak() })
+ test/typ/text/tracking-spacing-01.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/text/tracking-spacing-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/tracking-spacing-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/tracking-spacing-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "I"+, Quote '\''+, Text "m"+, Space+, Text "in"+, Code+    "typ/text/tracking-spacing-01.typ"+    ( line 3 , column 8 )+    (FuncCall+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "tracking")+           (Plus (Literal (Numeric 0.15 Em)) (Literal (Numeric 1.5 Pt)))+       , BlockArg [ Space , Text "spaace" ]+       ])+, Text "!"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [I’m in]), +                 text(body: text(body: [ spaace]), +                      tracking: 0.15em + 1.5pt), +                 text(body: [!]), +                 parbreak() })
+ test/typ/text/tracking-spacing-02.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/text/tracking-spacing-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/tracking-spacing-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/tracking-spacing-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/tracking-spacing-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "font")+           (Array+              [ Reg (Literal (String "PT Sans"))+              , Reg (Literal (String "Noto Serif Hebrew"))+              ])+       ])+, SoftBreak+, Code+    "typ/text/tracking-spacing-02.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "tracking") (Literal (Numeric 0.3 Em)) ])+, SoftBreak+, Text "\1496\1462\1511\1505\1496"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      font: ("PT Sans", +                             "Noto Serif Hebrew")), +                 text(body: [+טֶקסט], +                      font: ("PT Sans", +                             "Noto Serif Hebrew"), +                      tracking: 0.3em), +                 parbreak() })
+ test/typ/text/tracking-spacing-03.out view
@@ -0,0 +1,59 @@+--- parse tree ---+[ Code+    "typ/text/tracking-spacing-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/tracking-spacing-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/tracking-spacing-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/tracking-spacing-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "tracking") (Literal (Numeric 0.3 Em)) ])+, SoftBreak+, Text "\1575\1604\1606\1589"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+النص], +                      tracking: 0.3em), +                 parbreak() })
+ test/typ/text/tracking-spacing-04.out view
@@ -0,0 +1,66 @@+--- parse tree ---+[ Code+    "typ/text/tracking-spacing-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/tracking-spacing-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/tracking-spacing-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/tracking-spacing-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Em)) ])+, SoftBreak+, Text "My"+, Space+, Text "text"+, Space+, Text "has"+, Space+, Text "spaces"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+My text has spaces.], +                      spacing: 1.0em), +                 parbreak() })
+ test/typ/text/tracking-spacing-05.out view
@@ -0,0 +1,67 @@+--- parse tree ---+[ Code+    "typ/text/tracking-spacing-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/text/tracking-spacing-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/text/tracking-spacing-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/text/tracking-spacing-05.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg+           (Identifier "spacing")+           (Plus (Literal (Numeric 50.0 Percent)) (Literal (Numeric 1.0 Pt)))+       ])+, SoftBreak+, Text "This"+, Space+, Text "is"+, Space+, Text "tight"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+This is tight.], +                      spacing: 1.0pt + 50%), +                 parbreak() })
+ test/typ/visualize/image-00.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/visualize/image-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/image-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/image-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/visualize/image-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "image"))+       [ NormalArg (Literal (String "/assets/files/rhino.png")) ])+, ParBreak+, Comment+, Code+    "typ/visualize/image-00.typ"+    ( line 8 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/image-00.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "image"))+       [ NormalArg (Literal (String "/assets/files/tiger.jpg")) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 image(path: "/assets/files/rhino.png"), +                 parbreak(), +                 text(body: [+]), +                 image(path: "/assets/files/tiger.jpg"), +                 parbreak() })
+ test/typ/visualize/image-01.out view
@@ -0,0 +1,122 @@+--- parse tree ---+[ Code+    "typ/visualize/image-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/image-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/image-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Comment+, Code+    "typ/visualize/image-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/rhino.png"))+              , KeyValArg (Identifier "width") (Literal (Numeric 30.0 Pt))+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/image-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/rhino.png"))+              , KeyValArg (Identifier "height") (Literal (Numeric 30.0 Pt))+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/visualize/image-01.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "image"))+       [ NormalArg (Literal (String "/assets/files/monkey.svg"))+       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))+       , KeyValArg (Identifier "fit") (Literal (String "stretch"))+       ])+, ParBreak+, Comment+, Code+    "typ/visualize/image-01.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg+           (Plus (Ident (Identifier "bottom")) (Ident (Identifier "right")))+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))+              , KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt))+              , KeyValArg (Identifier "alt") (Literal (String "A tiger"))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 box(body: image(path: "/assets/files/rhino.png", +                                 width: 30.0pt)), +                 text(body: [+]), +                 box(body: image(height: 30.0pt, +                                 path: "/assets/files/rhino.png")), +                 parbreak(), +                 image(fit: "stretch", +                       height: 20.0pt, +                       path: "/assets/files/monkey.svg", +                       width: 100%), +                 parbreak(), +                 align(alignment: Axes(right, bottom), +                       body: image(alt: "A tiger", +                                   path: "/assets/files/tiger.jpg", +                                   width: 40.0pt)), +                 parbreak() })
+ test/typ/visualize/image-02.out view
@@ -0,0 +1,115 @@+--- parse tree ---+[ Code+    "typ/visualize/image-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/image-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/image-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/image-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/image-02.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Array+              [ Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              ])+       , KeyValArg (Identifier "rows") (Literal (Numeric 100.0 Percent))+       , KeyValArg (Identifier "gutter") (Literal (Numeric 3.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fit") (Literal (String "contain"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fit") (Literal (String "cover"))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/monkey.svg"))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "fit") (Literal (String "stretch"))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 grid(children: (image(fit: "contain", +                                       height: 100%, +                                       path: "/assets/files/tiger.jpg", +                                       width: 100%), +                                 image(fit: "cover", +                                       height: 100%, +                                       path: "/assets/files/tiger.jpg", +                                       width: 100%), +                                 image(fit: "stretch", +                                       height: 100%, +                                       path: "/assets/files/monkey.svg", +                                       width: 100%)), +                      columns: (1.0fr, +                                1.0fr, +                                1.0fr), +                      gutter: 3.0pt, +                      rows: 100%), +                 parbreak() })
+ test/typ/visualize/image-03.out view
@@ -0,0 +1,67 @@+--- parse tree ---+[ Code+    "typ/visualize/image-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/image-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/image-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/image-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])+, SoftBreak+, Text "Stuff"+, SoftBreak+, Code+    "typ/visualize/image-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "image"))+       [ NormalArg (Literal (String "/assets/files/rhino.png")) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+Stuff+]), +                 image(path: "/assets/files/rhino.png"), +                 parbreak() })
+ test/typ/visualize/image-04.out view
@@ -0,0 +1,70 @@+--- parse tree ---+[ Code+    "typ/visualize/image-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/image-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/image-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Text "A"+, Space+, Code+    "typ/visualize/image-04.typ"+    ( line 3 , column 4 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/tiger.jpg"))+              , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Cm))+              , KeyValArg (Identifier "width") (Literal (Numeric 80.0 Percent))+              ])+       ])+, Space+, Text "B"+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [A ]), +                 box(body: image(height: 1.0cm, +                                 path: "/assets/files/tiger.jpg", +                                 width: 80%)), +                 text(body: [ B]), +                 parbreak() })
+ test/typ/visualize/image-05.out view
@@ -0,0 +1,55 @@+--- parse tree ---+[ Code+    "typ/visualize/image-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/image-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/image-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/image-05.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "image"))+       [ NormalArg (Literal (String "/assets/files/pattern.svg")) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 image(path: "/assets/files/pattern.svg"), +                 parbreak() })
+ test/typ/visualize/image-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/image-07.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/image-08.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/line-00.out view
@@ -0,0 +1,152 @@+--- parse tree ---+[ Code+    "typ/visualize/line-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/line-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/line-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/visualize/line-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/line-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (Block+              (CodeBlock+                 [ Set+                     (Ident (Identifier "line"))+                     [ KeyValArg (Identifier "stroke") (Literal (Numeric 0.75 Pt)) ]+                 , FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg+                                (Identifier "end")+                                (Array+                                   [ Reg (Literal (Numeric 0.4 Em))+                                   , Reg (Literal (Numeric 0.0 Pt))+                                   ])+                            ])+                     ]+                 , FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 0.0 Pt))+                                   , Reg (Literal (Numeric 0.4 Em))+                                   ])+                            , KeyValArg+                                (Identifier "end")+                                (Array+                                   [ Reg (Literal (Numeric 0.0 Pt))+                                   , Reg (Literal (Numeric 0.0 Pt))+                                   ])+                            ])+                     ]+                 , FuncCall+                     (Ident (Identifier "line"))+                     [ KeyValArg+                         (Identifier "end")+                         (Array+                            [ Reg (Literal (Numeric 0.6 Em))+                            , Reg (Literal (Numeric 0.6 Em))+                            ])+                     ]+                 ]))+       ])+, Space+, Text "Hello"+, Space+, Code+    "typ/visualize/line-00.typ"+    ( line 8 , column 11 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "line"))+              [ KeyValArg (Identifier "length") (Literal (Numeric 1.0 Cm)) ])+       ])+, Text "!"+, ParBreak+, Code+    "typ/visualize/line-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg+           (Identifier "end")+           (Array+              [ Reg (Literal (Numeric 70.0 Percent))+              , Reg (Literal (Numeric 50.0 Percent))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 box(body: { place(body: line(end: (0.4em, +                                                    0.0pt), +                                              stroke: 0.75pt)), +                             place(body: line(end: (0.0pt, +                                                    0.0pt), +                                              start: (0.0pt, +                                                      0.4em), +                                              stroke: 0.75pt)), +                             line(end: (0.6em, 0.6em), +                                  stroke: 0.75pt) }), +                 text(body: [ Hello ]), +                 box(body: line(length: 1.0cm)), +                 text(body: [!]), +                 parbreak(), +                 line(end: (70%, 50%)), +                 parbreak() })
+ test/typ/visualize/line-01.out view
@@ -0,0 +1,1179 @@+--- parse tree ---+[ Code+    "typ/visualize/line-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/line-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/line-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/visualize/line-01.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg+           (Identifier "fill")+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (String "0B1026")) ])+       ])+, SoftBreak+, Code+    "typ/visualize/line-01.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "stroke") (Ident (Identifier "white")) ])+, ParBreak+, Code+    "typ/visualize/line-01.typ"+    ( line 7 , column 2 )+    (LetFunc+       (Identifier "star")+       [ NormalParam (Identifier "size")+       , SinkParam (Just (Identifier "args"))+       ]+       (FuncCall+          (Ident (Identifier "box"))+          [ KeyValArg (Identifier "width") (Ident (Identifier "size"))+          , KeyValArg (Identifier "height") (Ident (Identifier "size"))+          , BlockArg+              [ SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 8 , column 4 )+                  (Set+                     (Ident (Identifier "text"))+                     [ KeyValArg (Identifier "spacing") (Literal (Numeric 0.0 Percent))+                     ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 9 , column 4 )+                  (Set+                     (Ident (Identifier "line"))+                     [ SpreadArg (Ident (Identifier "args")) ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 10 , column 4 )+                  (Set+                     (Ident (Identifier "align"))+                     [ NormalArg (Ident (Identifier "left")) ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 11 , column 4 )+                  (FuncCall+                     (Ident (Identifier "v"))+                     [ NormalArg (Literal (Numeric 30.0 Percent)) ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 12 , column 4 )+                  (FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))+                            , KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 9.0 Percent))+                                   , Reg (Literal (Numeric 2.0 Percent))+                                   ])+                            ])+                     ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 13 , column 4 )+                  (FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))+                            , KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 38.7 Percent))+                                   , Reg (Literal (Numeric 2.0 Percent))+                                   ])+                            , KeyValArg+                                (Identifier "angle") (Negated (Literal (Numeric 72.0 Deg)))+                            ])+                     ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 14 , column 4 )+                  (FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))+                            , KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 57.5 Percent))+                                   , Reg (Literal (Numeric 2.0 Percent))+                                   ])+                            , KeyValArg (Identifier "angle") (Literal (Numeric 252.0 Deg))+                            ])+                     ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 15 , column 4 )+                  (FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))+                            , KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 57.3 Percent))+                                   , Reg (Literal (Numeric 2.0 Percent))+                                   ])+                            ])+                     ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 16 , column 4 )+                  (FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg+                                (Identifier "length") (Negated (Literal (Numeric 30.0 Percent)))+                            , KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 88.0 Percent))+                                   , Reg (Literal (Numeric 2.0 Percent))+                                   ])+                            , KeyValArg+                                (Identifier "angle") (Negated (Literal (Numeric 36.0 Deg)))+                            ])+                     ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 17 , column 4 )+                  (FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))+                            , KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 73.3 Percent))+                                   , Reg (Literal (Numeric 48.0 Percent))+                                   ])+                            , KeyValArg (Identifier "angle") (Literal (Numeric 252.0 Deg))+                            ])+                     ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 18 , column 4 )+                  (FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg+                                (Identifier "length") (Negated (Literal (Numeric 30.0 Percent)))+                            , KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 73.5 Percent))+                                   , Reg (Literal (Numeric 48.0 Percent))+                                   ])+                            , KeyValArg (Identifier "angle") (Literal (Numeric 36.0 Deg))+                            ])+                     ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 19 , column 4 )+                  (FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))+                            , KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 25.4 Percent))+                                   , Reg (Literal (Numeric 48.0 Percent))+                                   ])+                            , KeyValArg+                                (Identifier "angle") (Negated (Literal (Numeric 36.0 Deg)))+                            ])+                     ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 20 , column 4 )+                  (FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Percent))+                            , KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 25.6 Percent))+                                   , Reg (Literal (Numeric 48.0 Percent))+                                   ])+                            , KeyValArg+                                (Identifier "angle") (Negated (Literal (Numeric 72.0 Deg)))+                            ])+                     ])+              , SoftBreak+              , Code+                  "typ/visualize/line-01.typ"+                  ( line 21 , column 4 )+                  (FuncCall+                     (Ident (Identifier "place"))+                     [ NormalArg+                         (FuncCall+                            (Ident (Identifier "line"))+                            [ KeyValArg (Identifier "length") (Literal (Numeric 32.0 Percent))+                            , KeyValArg+                                (Identifier "start")+                                (Array+                                   [ Reg (Literal (Numeric 8.5 Percent))+                                   , Reg (Literal (Numeric 2.0 Percent))+                                   ])+                            , KeyValArg (Identifier "angle") (Literal (Numeric 34.0 Deg))+                            ])+                     ])+              , ParBreak+              ]+          ]))+, ParBreak+, Code+    "typ/visualize/line-01.typ"+    ( line 24 , column 2 )+    (FuncCall+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "center"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "grid"))+              [ KeyValArg (Identifier "columns") (Literal (Int 3))+              , KeyValArg+                  (Identifier "column-gutter") (Literal (Numeric 10.0 Pt))+              , SpreadArg+                  (Times+                     (Array+                        [ Reg+                            (FuncCall+                               (Ident (Identifier "star"))+                               [ NormalArg (Literal (Numeric 20.0 Pt))+                               , KeyValArg (Identifier "stroke") (Literal (Numeric 0.5 Pt))+                               ])+                        ])+                     (Literal (Int 9)))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 parbreak(), +                 align(alignment: center, +                       body: grid(children: (box(body: { text(body: [+]), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         v(amount: 30%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (9%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (38%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: -30%, +                                                                          start: (88%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 36.0deg, +                                                                          length: -30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 34.0deg, +                                                                          length: 32%, +                                                                          start: (8%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         parbreak() }, +                                                 height: 20.0pt, +                                                 width: 20.0pt), +                                             box(body: { text(body: [+]), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         v(amount: 30%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (9%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (38%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: -30%, +                                                                          start: (88%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 36.0deg, +                                                                          length: -30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 34.0deg, +                                                                          length: 32%, +                                                                          start: (8%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         parbreak() }, +                                                 height: 20.0pt, +                                                 width: 20.0pt), +                                             box(body: { text(body: [+]), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         v(amount: 30%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (9%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (38%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: -30%, +                                                                          start: (88%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 36.0deg, +                                                                          length: -30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 34.0deg, +                                                                          length: 32%, +                                                                          start: (8%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         parbreak() }, +                                                 height: 20.0pt, +                                                 width: 20.0pt), +                                             box(body: { text(body: [+]), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         v(amount: 30%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (9%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (38%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: -30%, +                                                                          start: (88%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 36.0deg, +                                                                          length: -30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 34.0deg, +                                                                          length: 32%, +                                                                          start: (8%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         parbreak() }, +                                                 height: 20.0pt, +                                                 width: 20.0pt), +                                             box(body: { text(body: [+]), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         v(amount: 30%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (9%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (38%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: -30%, +                                                                          start: (88%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 36.0deg, +                                                                          length: -30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 34.0deg, +                                                                          length: 32%, +                                                                          start: (8%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         parbreak() }, +                                                 height: 20.0pt, +                                                 width: 20.0pt), +                                             box(body: { text(body: [+]), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         v(amount: 30%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (9%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (38%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: -30%, +                                                                          start: (88%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 36.0deg, +                                                                          length: -30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 34.0deg, +                                                                          length: 32%, +                                                                          start: (8%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         parbreak() }, +                                                 height: 20.0pt, +                                                 width: 20.0pt), +                                             box(body: { text(body: [+]), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         v(amount: 30%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (9%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (38%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: -30%, +                                                                          start: (88%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 36.0deg, +                                                                          length: -30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 34.0deg, +                                                                          length: 32%, +                                                                          start: (8%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         parbreak() }, +                                                 height: 20.0pt, +                                                 width: 20.0pt), +                                             box(body: { text(body: [+]), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         v(amount: 30%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (9%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (38%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: -30%, +                                                                          start: (88%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 36.0deg, +                                                                          length: -30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 34.0deg, +                                                                          length: 32%, +                                                                          start: (8%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         parbreak() }, +                                                 height: 20.0pt, +                                                 width: 20.0pt), +                                             box(body: { text(body: [+]), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         v(amount: 30%), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (9%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (38%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(length: 30%, +                                                                          start: (57%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: -30%, +                                                                          start: (88%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 252.0deg, +                                                                          length: 30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 36.0deg, +                                                                          length: -30%, +                                                                          start: (73%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -36.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: -72.0deg, +                                                                          length: 30%, +                                                                          start: (25%, +                                                                                  48%), +                                                                          stroke: 0.5pt)), +                                                         text(body: [+], +                                                              spacing: 0%), +                                                         place(body: line(angle: 34.0deg, +                                                                          length: 32%, +                                                                          start: (8%, +                                                                                  2%), +                                                                          stroke: 0.5pt)), +                                                         parbreak() }, +                                                 height: 20.0pt, +                                                 width: 20.0pt)), +                                  column-gutter: 10.0pt, +                                  columns: 3)), +                 parbreak() })
+ test/typ/visualize/line-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/line-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/path-00.out view
@@ -0,0 +1,305 @@+--- parse tree ---+[ Code+    "typ/visualize/path-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/path-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/path-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/visualize/path-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 200.0 Pt))+       , KeyValArg (Identifier "width") (Literal (Numeric 200.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/path-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg+           (Identifier "columns")+           (Array+              [ Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              ])+       , KeyValArg+           (Identifier "rows")+           (Array+              [ Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal (Numeric 1.0 Fr))+              ])+       , KeyValArg+           (Identifier "align")+           (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+       , NormalArg+           (FuncCall+              (Ident (Identifier "path"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              , KeyValArg (Identifier "closed") (Literal (Boolean True))+              , NormalArg+                  (Array+                     [ Reg+                         (Array+                            [ Reg (Literal (Numeric 0.0 Percent))+                            , Reg (Literal (Numeric 0.0 Percent))+                            ])+                     , Reg+                         (Array+                            [ Reg (Literal (Numeric 4.0 Percent))+                            , Reg (Negated (Literal (Numeric 4.0 Percent)))+                            ])+                     ])+              , NormalArg+                  (Array+                     [ Reg+                         (Array+                            [ Reg (Literal (Numeric 50.0 Percent))+                            , Reg (Literal (Numeric 50.0 Percent))+                            ])+                     , Reg+                         (Array+                            [ Reg (Literal (Numeric 4.0 Percent))+                            , Reg (Negated (Literal (Numeric 4.0 Percent)))+                            ])+                     ])+              , NormalArg+                  (Array+                     [ Reg+                         (Array+                            [ Reg (Literal (Numeric 0.0 Percent))+                            , Reg (Literal (Numeric 50.0 Percent))+                            ])+                     , Reg+                         (Array+                            [ Reg (Literal (Numeric 4.0 Percent))+                            , Reg (Literal (Numeric 4.0 Percent))+                            ])+                     ])+              , NormalArg+                  (Array+                     [ Reg+                         (Array+                            [ Reg (Literal (Numeric 50.0 Percent))+                            , Reg (Literal (Numeric 0.0 Percent))+                            ])+                     , Reg+                         (Array+                            [ Reg (Literal (Numeric 4.0 Percent))+                            , Reg (Literal (Numeric 4.0 Percent))+                            ])+                     ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "path"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "purple"))+              , KeyValArg (Identifier "stroke") (Literal (Numeric 1.0 Pt))+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 0.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 30.0 Pt))+                     , Reg (Literal (Numeric 30.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 30.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 30.0 Pt))+                     , Reg (Literal (Numeric 0.0 Pt))+                     ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "path"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "blue"))+              , KeyValArg (Identifier "stroke") (Literal (Numeric 1.0 Pt))+              , KeyValArg (Identifier "closed") (Literal (Boolean True))+              , NormalArg+                  (Array+                     [ Reg+                         (Array+                            [ Reg (Literal (Numeric 30.0 Percent))+                            , Reg (Literal (Numeric 0.0 Percent))+                            ])+                     , Reg+                         (Array+                            [ Reg (Literal (Numeric 35.0 Percent))+                            , Reg (Literal (Numeric 30.0 Percent))+                            ])+                     , Reg+                         (Array+                            [ Reg (Negated (Literal (Numeric 20.0 Percent)))+                            , Reg (Literal (Numeric 0.0 Percent))+                            ])+                     ])+              , NormalArg+                  (Array+                     [ Reg+                         (Array+                            [ Reg (Literal (Numeric 30.0 Percent))+                            , Reg (Literal (Numeric 60.0 Percent))+                            ])+                     , Reg+                         (Array+                            [ Reg (Negated (Literal (Numeric 20.0 Percent)))+                            , Reg (Literal (Numeric 0.0 Percent))+                            ])+                     , Reg+                         (Array+                            [ Reg (Literal (Numeric 0.0 Percent))+                            , Reg (Literal (Numeric 0.0 Percent))+                            ])+                     ])+              , NormalArg+                  (Array+                     [ Reg+                         (Array+                            [ Reg (Literal (Numeric 50.0 Percent))+                            , Reg (Literal (Numeric 30.0 Percent))+                            ])+                     , Reg+                         (Array+                            [ Reg (Literal (Numeric 60.0 Percent))+                            , Reg (Negated (Literal (Numeric 30.0 Percent)))+                            ])+                     , Reg+                         (Array+                            [ Reg (Literal (Numeric 60.0 Percent))+                            , Reg (Literal (Numeric 0.0 Percent))+                            ])+                     ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "path"))+              [ KeyValArg (Identifier "stroke") (Literal (Numeric 5.0 Pt))+              , KeyValArg (Identifier "closed") (Literal (Boolean True))+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 30.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 30.0 Pt))+                     , Reg (Literal (Numeric 30.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 15.0 Pt))+                     , Reg (Literal (Numeric 0.0 Pt))+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 table(align: Axes(center, horizon), +                       children: (path(closed: true, +                                       fill: rgb(100%,25%,21%,100%), +                                       vertices: (((0%, +                                                    0%), +                                                   (4%, +                                                    -4%)), +                                                  ((50%, +                                                    50%), +                                                   (4%, +                                                    -4%)), +                                                  ((0%, +                                                    50%), +                                                   (4%, +                                                    4%)), +                                                  ((50%, +                                                    0%), +                                                   (4%, +                                                    4%)))), +                                  path(fill: rgb(69%,5%,78%,100%), +                                       stroke: 1.0pt, +                                       vertices: ((0.0pt, +                                                   0.0pt), +                                                  (30.0pt, +                                                   30.0pt), +                                                  (0.0pt, +                                                   30.0pt), +                                                  (30.0pt, +                                                   0.0pt))), +                                  path(closed: true, +                                       fill: rgb(0%,45%,85%,100%), +                                       stroke: 1.0pt, +                                       vertices: (((30%, +                                                    0%), +                                                   (35%, +                                                    30%), +                                                   (-20%, +                                                    0%)), +                                                  ((30%, +                                                    60%), +                                                   (-20%, +                                                    0%), +                                                   (0%, +                                                    0%)), +                                                  ((50%, +                                                    30%), +                                                   (60%, +                                                    -30%), +                                                   (60%, +                                                    0%)))), +                                  path(closed: true, +                                       stroke: 5.0pt, +                                       vertices: ((0.0pt, +                                                   30.0pt), +                                                  (30.0pt, +                                                   30.0pt), +                                                  (15.0pt, +                                                   0.0pt)))), +                       columns: (1.0fr, 1.0fr), +                       rows: (1.0fr, 1.0fr)), +                 parbreak() })
+ test/typ/visualize/path-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/path-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/path-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/polygon-00.out view
@@ -0,0 +1,349 @@+--- parse tree ---+[ Code+    "typ/visualize/polygon-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/polygon-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/polygon-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/visualize/polygon-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/polygon-00.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "polygon"))+       [ KeyValArg (Identifier "stroke") (Literal (Numeric 0.75 Pt))+       , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))+       ])+, ParBreak+, Comment+, Code+    "typ/visualize/polygon-00.typ"+    ( line 6 , column 2 )+    (FuncCall (Ident (Identifier "polygon")) [])+, SoftBreak+, Code+    "typ/visualize/polygon-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "polygon"))+       [ NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Em))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/polygon-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "polygon"))+       [ NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 10.0 Pt))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       ])+, ParBreak+, Code+    "typ/visualize/polygon-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "polygon"))+       [ NormalArg+           (Array+              [ Reg (Literal (Numeric 5.0 Pt))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 10.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 10.0 Pt))+              , Reg (Literal (Numeric 10.0 Pt))+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/polygon-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "polygon"))+       [ NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 5.0 Pt))+              , Reg (Literal (Numeric 5.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 10.0 Pt))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 15.0 Pt))+              , Reg (Literal (Numeric 5.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 5.0 Pt))+              , Reg (Literal (Numeric 10.0 Pt))+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/polygon-00.typ"+    ( line 16 , column 2 )+    (FuncCall+       (Ident (Identifier "polygon"))+       [ KeyValArg (Identifier "stroke") (Literal None)+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 5.0 Pt))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 10.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 10.0 Pt))+              , Reg (Literal (Numeric 10.0 Pt))+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/polygon-00.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "polygon"))+       [ KeyValArg (Identifier "stroke") (Literal (Numeric 3.0 Pt))+       , KeyValArg (Identifier "fill") (Literal None)+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 5.0 Pt))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 10.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 10.0 Pt))+              , Reg (Literal (Numeric 10.0 Pt))+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/visualize/polygon-00.typ"+    ( line 20 , column 2 )+    (FuncCall+       (Ident (Identifier "polygon"))+       [ NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 100.0 Percent))+              , Reg (Literal (Numeric 5.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 50.0 Percent))+              , Reg (Literal (Numeric 10.0 Pt))+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/visualize/polygon-00.typ"+    ( line 23 , column 2 )+    (FuncCall+       (Ident (Identifier "polygon"))+       [ NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 5.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 5.0 Pt))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 10.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 5.0 Pt))+              , Reg (Literal (Numeric 15.0 Pt))+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/visualize/polygon-00.typ"+    ( line 26 , column 2 )+    (FuncCall+       (Ident (Identifier "polygon"))+       [ NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 10.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 30.0 Pt))+              , Reg (Literal (Numeric 20.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 0.0 Pt))+              , Reg (Literal (Numeric 30.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 20.0 Pt))+              , Reg (Literal (Numeric 0.0 Pt))+              ])+       , NormalArg+           (Array+              [ Reg (Literal (Numeric 20.0 Pt))+              , Reg (Literal (Numeric 35.0 Pt))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 polygon(fill: rgb(0%,45%,85%,100%), +                         stroke: 0.75pt, +                         vertices: ()), +                 text(body: [+]), +                 polygon(fill: rgb(0%,45%,85%,100%), +                         stroke: 0.75pt, +                         vertices: ((0.0em, 0.0pt))), +                 text(body: [+]), +                 polygon(fill: rgb(0%,45%,85%,100%), +                         stroke: 0.75pt, +                         vertices: ((0.0pt, 0.0pt), +                                    (10.0pt, 0.0pt))), +                 parbreak(), +                 polygon(fill: rgb(0%,45%,85%,100%), +                         stroke: 0.75pt, +                         vertices: ((5.0pt, 0.0pt), +                                    (0.0pt, 10.0pt), +                                    (10.0pt, 10.0pt))), +                 text(body: [+]), +                 polygon(fill: rgb(0%,45%,85%,100%), +                         stroke: 0.75pt, +                         vertices: ((0.0pt, 0.0pt), +                                    (5.0pt, 5.0pt), +                                    (10.0pt, 0.0pt), +                                    (15.0pt, 5.0pt), +                                    (5.0pt, 10.0pt))), +                 text(body: [+]), +                 polygon(fill: rgb(0%,45%,85%,100%), +                         stroke: none, +                         vertices: ((5.0pt, 0.0pt), +                                    (0.0pt, 10.0pt), +                                    (10.0pt, 10.0pt))), +                 text(body: [+]), +                 polygon(fill: none, +                         stroke: 3.0pt, +                         vertices: ((5.0pt, 0.0pt), +                                    (0.0pt, 10.0pt), +                                    (10.0pt, 10.0pt))), +                 parbreak(), +                 polygon(fill: rgb(0%,45%,85%,100%), +                         stroke: 0.75pt, +                         vertices: ((0.0pt, 0.0pt), +                                    (100%, 5.0pt), +                                    (50%, 10.0pt))), +                 parbreak(), +                 polygon(fill: rgb(0%,45%,85%,100%), +                         stroke: 0.75pt, +                         vertices: ((0.0pt, 5.0pt), +                                    (5.0pt, 0.0pt), +                                    (0.0pt, 10.0pt), +                                    (5.0pt, 15.0pt))), +                 parbreak(), +                 polygon(fill: rgb(0%,45%,85%,100%), +                         stroke: 0.75pt, +                         vertices: ((0.0pt, 10.0pt), +                                    (30.0pt, 20.0pt), +                                    (0.0pt, 30.0pt), +                                    (20.0pt, 0.0pt), +                                    (20.0pt, 35.0pt))), +                 parbreak() })
+ test/typ/visualize/polygon-01.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/shape-aspect-00.out view
@@ -0,0 +1,130 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-aspect-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-aspect-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-aspect-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Comment+, Code+    "typ/visualize/shape-aspect-00.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 120.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 70.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/shape-aspect-00.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg (Ident (Identifier "bottom")) ])+, SoftBreak+, Code+    "typ/visualize/shape-aspect-00.typ"+    ( line 6 , column 2 )+    (Let+       (BasicBind (Just (Identifier "centered")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "align")))+          [ NormalArg+              (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+          ]))+, SoftBreak+, Code+    "typ/visualize/shape-aspect-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "square"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 50.0 Percent))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "centered")) [ BlockArg [ Text "A" ] ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "square"))+              [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "stack"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "square"))+                     [ KeyValArg (Identifier "size") (Literal (Numeric 10.0 Pt)) ])+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "square"))+                     [ KeyValArg (Identifier "size") (Literal (Numeric 20.0 Pt))+                     , NormalArg+                         (FuncCall+                            (Ident (Identifier "centered")) [ BlockArg [ Text "B" ] ])+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 text(body: [+]), +                 stack(children: (square(body: align(alignment: bottom, +                                                     body: text(body: [A])), +                                         width: 50%), +                                  square(height: 50%), +                                  stack(children: (square(size: 10.0pt), +                                                   square(body: align(alignment: bottom, +                                                                      body: text(body: [B])), +                                                          size: 20.0pt)))), +                       dir: ltr, +                       spacing: 1.0fr), +                 parbreak() })
+ test/typ/visualize/shape-aspect-01.out view
@@ -0,0 +1,122 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-aspect-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-aspect-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-aspect-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-aspect-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ NormalArg (Literal (Numeric 8.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/shape-aspect-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "square"))+              [ KeyValArg (Identifier "inset") (Literal (Numeric 4.0 Pt))+              , BlockArg+                  [ SoftBreak+                  , Text "Hey"+                  , Space+                  , Text "there,"+                  , Space+                  , Code+                      "typ/visualize/shape-aspect-01.typ"+                      ( line 5 , column 15 )+                      (FuncCall+                         (Ident (Identifier "align"))+                         [ NormalArg+                             (Plus (Ident (Identifier "center")) (Ident (Identifier "bottom")))+                         , NormalArg+                             (FuncCall+                                (Ident (Identifier "rotate"))+                                [ NormalArg (Literal (Numeric 180.0 Deg))+                                , NormalArg (Block (Content [ Text "you!" ]))+                                ])+                         ])+                  , ParBreak+                  ]+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/shape-aspect-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "circle"))+              [ NormalArg+                  (FuncCall+                     (Ident (Identifier "align"))+                     [ NormalArg+                         (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+                     , NormalArg (Block (Content [ Text "Hey" , Text "." ]))+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], size: 8.0pt), +                 box(body: square(body: { text(body: [+Hey there, ], +                                               size: 8.0pt), +                                          align(alignment: Axes(center, bottom), +                                                body: rotate(angle: 180.0deg, +                                                             body: text(body: [you!], +                                                                        size: 8.0pt))), +                                          parbreak() }, +                                  inset: 4.0pt)), +                 text(body: [+], size: 8.0pt), +                 box(body: circle(body: align(alignment: Axes(center, horizon), +                                              body: text(body: [Hey.], +                                                         size: 8.0pt)))), +                 parbreak() })
+ test/typ/visualize/shape-aspect-02.out view
@@ -0,0 +1,74 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-aspect-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-aspect-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-aspect-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-aspect-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , KeyValArg (Identifier "spacing") (Literal (Numeric 2.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "square"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))+              , KeyValArg (Identifier "height") (Literal (Numeric 40.0 Pt))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "circle"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 stack(children: (square(height: 40.0pt, +                                         width: 20.0pt), +                                  circle(height: 100.0pt, +                                         width: 20%)), +                       dir: ltr, +                       spacing: 2.0pt), +                 parbreak() })
+ test/typ/visualize/shape-aspect-03.out view
@@ -0,0 +1,78 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-aspect-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-aspect-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-aspect-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-aspect-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 0.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/shape-aspect-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "square"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "red")) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "square"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "green")) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 stack(children: (square(fill: rgb(100%,25%,21%,100%)), +                                  square(fill: rgb(18%,80%,25%,100%))), +                       dir: ltr), +                 parbreak() })
+ test/typ/visualize/shape-aspect-04.out view
@@ -0,0 +1,86 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-aspect-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-aspect-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-aspect-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-aspect-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 120.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 40.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/shape-aspect-04.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , KeyValArg (Identifier "spacing") (Literal (Numeric 2.0 Pt))+       , NormalArg+           (FuncCall+              (Ident (Identifier "circle"))+              [ KeyValArg (Identifier "radius") (Literal (Numeric 5.0 Pt)) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "circle"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Percent))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "circle"))+              [ KeyValArg (Identifier "height") (Literal (Numeric 50.0 Percent))+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 stack(children: (circle(radius: 5.0pt), +                                  circle(width: 10%), +                                  circle(height: 50%)), +                       dir: ltr, +                       spacing: 2.0pt), +                 parbreak() })
+ test/typ/visualize/shape-aspect-05.out view
@@ -0,0 +1,81 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-aspect-05.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-aspect-05.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-aspect-05.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-aspect-05.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 25.0 Pt))+       , KeyValArg (Identifier "margin") (Literal (Numeric 5.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/shape-aspect-05.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       ])+, SoftBreak+, Code+    "typ/visualize/shape-aspect-05.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , BlockArg [ Text "Hello" , Space , Text "there" ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 square(width: 100%), +                 text(body: [+]), +                 square(body: text(body: [Hello there]), +                        width: 100%), +                 parbreak() })
+ test/typ/visualize/shape-aspect-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/shape-circle-00.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-circle-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-circle-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-circle-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-circle-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg (FuncCall (Ident (Identifier "circle")) []) ])+, SoftBreak+, Code+    "typ/visualize/shape-circle-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "circle")) [ BlockArg [ Text "Hey" ] ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 box(body: circle()), +                 text(body: [+]), +                 box(body: circle(body: text(body: [Hey]))), +                 parbreak() })
+ test/typ/visualize/shape-circle-01.out view
@@ -0,0 +1,249 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-circle-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-circle-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-circle-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-circle-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "circle"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt)) ])+, ParBreak+, Text "Auto"+, Text "-"+, Text "sized"+, Space+, Text "circle"+, Text "."+, SoftBreak+, Code+    "typ/visualize/shape-circle-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "circle"))+       [ KeyValArg+           (Identifier "fill")+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (String "eb5278")) ])+       , KeyValArg+           (Identifier "stroke")+           (Plus (Literal (Numeric 2.0 Pt)) (Ident (Identifier "black")))+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg+                  (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+              , BlockArg [ Text "But," , Space , Text "soft!" ]+              ])+       ])+, ParBreak+, Text "Center"+, Text "-"+, Text "aligned"+, Space+, Text "rect"+, Space+, Text "in"+, Space+, Text "auto"+, Text "-"+, Text "sized"+, Space+, Text "circle"+, Text "."+, SoftBreak+, Code+    "typ/visualize/shape-circle-01.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "circle"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , KeyValArg (Identifier "stroke") (Ident (Identifier "green"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg+                  (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+                     , KeyValArg (Identifier "inset") (Literal (Numeric 5.0 Pt))+                     , BlockArg [ Text "But," , Space , Text "soft!" ]+                     ])+              ])+       ])+, ParBreak+, Text "Rect"+, Space+, Text "in"+, Space+, Text "auto"+, Text "-"+, Text "sized"+, Space+, Text "circle"+, Text "."+, SoftBreak+, Code+    "typ/visualize/shape-circle-01.typ"+    ( line 18 , column 2 )+    (FuncCall+       (Ident (Identifier "circle"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+              , KeyValArg (Identifier "stroke") (Ident (Identifier "white"))+              , KeyValArg (Identifier "inset") (Literal (Numeric 4.0 Pt))+              , BlockArg+                  [ SoftBreak+                  , Code+                      "typ/visualize/shape-circle-01.typ"+                      ( line 20 , column 6 )+                      (Set+                         (Ident (Identifier "text"))+                         [ NormalArg (Literal (Numeric 8.0 Pt)) ])+                  , SoftBreak+                  , Text "But,"+                  , Space+                  , Text "soft!"+                  , Space+                  , Text "what"+                  , Space+                  , Text "light"+                  , Space+                  , Text "through"+                  , Space+                  , Text "yonder"+                  , Space+                  , Text "window"+                  , Space+                  , Text "breaks?"+                  , ParBreak+                  ]+              ])+       ])+, ParBreak+, Text "Expanded"+, Space+, Text "by"+, Space+, Text "height"+, Text "."+, SoftBreak+, Code+    "typ/visualize/shape-circle-01.typ"+    ( line 26 , column 2 )+    (FuncCall+       (Ident (Identifier "circle"))+       [ KeyValArg (Identifier "stroke") (Ident (Identifier "black"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg (Ident (Identifier "center"))+              , BlockArg+                  [ Text "A"+                  , Space+                  , HardBreak+                  , Text "B"+                  , Space+                  , HardBreak+                  , Text "C"+                  ]+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [Auto-sized circle.+]), +                 circle(body: align(alignment: Axes(center, horizon), +                                    body: text(body: [But, soft!])), +                        fill: rgb(92%,32%,47%,100%), +                        inset: 0.0pt, +                        stroke: (thickness: 2.0pt,+                                 color: rgb(0%,0%,0%,100%))), +                 parbreak(), +                 text(body: [Center-aligned rect in auto-sized circle.+]), +                 circle(body: align(alignment: Axes(center, horizon), +                                    body: rect(body: text(body: [But, soft!]), +                                               fill: rgb(18%,80%,25%,100%), +                                               inset: 5.0pt)), +                        fill: rgb(100%,25%,21%,100%), +                        inset: 0.0pt, +                        stroke: rgb(18%,80%,25%,100%)), +                 parbreak(), +                 text(body: [Rect in auto-sized circle.+]), +                 circle(body: rect(body: { text(body: [+]), +                                           text(body: [+But, soft! what light through yonder window breaks?], +                                                size: 8.0pt), +                                           parbreak() }, +                                   fill: rgb(18%,80%,25%,100%), +                                   inset: 4.0pt, +                                   stroke: rgb(100%,100%,100%,100%)), +                        fill: rgb(100%,25%,21%,100%), +                        inset: 0.0pt), +                 parbreak(), +                 text(body: [Expanded by height.+], +                      size: 8.0pt), +                 circle(body: align(alignment: center, +                                    body: { text(body: [A ], +                                                 size: 8.0pt), +                                            linebreak(), +                                            text(body: [B ], +                                                 size: 8.0pt), +                                            linebreak(), +                                            text(body: [C], +                                                 size: 8.0pt) }), +                        inset: 0.0pt, +                        stroke: rgb(0%,0%,0%,100%)), +                 parbreak() })
+ test/typ/visualize/shape-circle-02.out view
@@ -0,0 +1,65 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-circle-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-circle-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-circle-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-circle-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 30.0 Pt))+       , KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , NormalArg+           (FuncCall+              (Ident (Identifier "circle"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "green")) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 rect(body: circle(fill: rgb(18%,80%,25%,100%)), +                      fill: rgb(100%,25%,21%,100%), +                      height: 30.0pt, +                      width: 40.0pt), +                 parbreak() })
+ test/typ/visualize/shape-circle-03.out view
@@ -0,0 +1,143 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-circle-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-circle-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-circle-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-circle-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "white")) ])+, SoftBreak+, Code+    "typ/visualize/shape-circle-03.typ"+    ( line 4 , column 2 )+    (Show+       Nothing+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "rect")))+          [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Pt))+          , KeyValArg (Identifier "height") (Literal (Numeric 50.0 Pt))+          , KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt))+          , KeyValArg+              (Identifier "fill")+              (FuncCall+                 (Ident (Identifier "rgb")) [ NormalArg (Literal (String "aaa")) ])+          ]))+, SoftBreak+, Code+    "typ/visualize/shape-circle-03.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "align"))+       [ NormalArg+           (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+       ])+, SoftBreak+, Code+    "typ/visualize/shape-circle-03.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))+       , NormalArg (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "circle"))+              [ KeyValArg (Identifier "radius") (Literal (Numeric 10.0 Pt))+              , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+              , NormalArg (Block (Content [ Text "A" ]))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "circle"))+              [ KeyValArg (Identifier "height") (Literal (Numeric 60.0 Percent))+              , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+              , NormalArg (Block (Content [ Text "B" ]))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "circle"))+              [ KeyValArg+                  (Identifier "width")+                  (Plus (Literal (Numeric 20.0 Percent)) (Literal (Numeric 20.0 Pt)))+              , KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+              , NormalArg (Block (Content [ Text "C" ]))+              ])+       , NormalArg (Literal (Numeric 1.0 Fr))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+], +                      fill: rgb(100%,100%,100%,100%)), +                 rect(body: { text(body: [+], +                                   fill: rgb(100%,100%,100%,100%)), +                              text(body: [+], +                                   fill: rgb(100%,100%,100%,100%)), +                              stack(children: (1.0fr, +                                               circle(body: text(body: [A], +                                                                 fill: rgb(100%,100%,100%,100%)), +                                                      fill: rgb(13%,61%,67%,100%), +                                                      radius: 10.0pt), +                                               circle(body: text(body: [B], +                                                                 fill: rgb(100%,100%,100%,100%)), +                                                      fill: rgb(13%,61%,67%,100%), +                                                      height: 60%), +                                               circle(body: text(body: [C], +                                                                 fill: rgb(100%,100%,100%,100%)), +                                                      fill: rgb(13%,61%,67%,100%), +                                                      width: 20.0pt + 20%), +                                               1.0fr), +                                    dir: ltr, +                                    spacing: 1.0fr), +                              parbreak() }, +                      fill: rgb(3%,3%,3%,100%), +                      height: 50.0pt, +                      inset: 0.0pt, +                      width: 100.0pt) })
+ test/typ/visualize/shape-circle-04.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/shape-ellipse-00.out view
@@ -0,0 +1,53 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-ellipse-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-ellipse-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-ellipse-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-ellipse-00.typ"+    ( line 3 , column 2 )+    (FuncCall (Ident (Identifier "ellipse")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 ellipse(), +                 parbreak() })
+ test/typ/visualize/shape-ellipse-01.out view
@@ -0,0 +1,235 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-ellipse-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-ellipse-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-ellipse-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/visualize/shape-ellipse-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/shape-ellipse-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "ellipse"))+       [ KeyValArg (Identifier "inset") (Literal (Numeric 0.0 Pt)) ])+, ParBreak+, Text "Rect"+, Space+, Text "in"+, Space+, Text "ellipse"+, Space+, Text "in"+, Space+, Text "fixed"+, Space+, Text "rect"+, Text "."+, SoftBreak+, Code+    "typ/visualize/shape-ellipse-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 3.0 Cm))+       , KeyValArg (Identifier "height") (Literal (Numeric 2.0 Cm))+       , KeyValArg+           (Identifier "fill")+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (String "2a631a")) ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "ellipse"))+              [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+              , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+              , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Percent))+              , NormalArg+                  (FuncCall+                     (Ident (Identifier "rect"))+                     [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+                     , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+                     , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Percent))+                     , NormalArg+                         (FuncCall+                            (Ident (Identifier "align"))+                            [ NormalArg+                                (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+                            , BlockArg+                                [ SoftBreak+                                , Text "Stuff"+                                , Space+                                , Text "inside"+                                , Space+                                , Text "an"+                                , Space+                                , Text "ellipse!"+                                , ParBreak+                                ]+                            ])+                     ])+              ])+       ])+, ParBreak+, Text "Auto"+, Text "-"+, Text "sized"+, Space+, Text "ellipse"+, Text "."+, SoftBreak+, Code+    "typ/visualize/shape-ellipse-01.typ"+    ( line 17 , column 2 )+    (FuncCall+       (Ident (Identifier "ellipse"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       , KeyValArg+           (Identifier "stroke")+           (Plus (Literal (Numeric 3.0 Pt)) (Ident (Identifier "red")))+       , KeyValArg (Identifier "inset") (Literal (Numeric 3.0 Pt))+       , BlockArg+           [ SoftBreak+           , Code+               "typ/visualize/shape-ellipse-01.typ"+               ( line 18 , column 4 )+               (Set+                  (Ident (Identifier "text"))+                  [ NormalArg (Literal (Numeric 8.0 Pt)) ])+           , SoftBreak+           , Text "But,"+           , Space+           , Text "soft!"+           , Space+           , Text "what"+           , Space+           , Text "light"+           , Space+           , Text "through"+           , Space+           , Text "yonder"+           , Space+           , Text "window"+           , Space+           , Text "breaks?"+           , ParBreak+           ]+       ])+, ParBreak+, Text "An"+, Space+, Text "inline"+, SoftBreak+, Code+    "typ/visualize/shape-ellipse-01.typ"+    ( line 24 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "ellipse"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 8.0 Pt))+              , KeyValArg (Identifier "height") (Literal (Numeric 6.0 Pt))+              , KeyValArg+                  (Identifier "outset")+                  (Dict+                     [ Reg ( Ident (Identifier "top") , Literal (Numeric 3.0 Pt) )+                     , Reg ( Ident (Identifier "rest") , Literal (Numeric 5.5 Pt) )+                     ])+              ])+       ])+, SoftBreak+, Text "ellipse"+, Text "."+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 text(body: [Rect in ellipse in fixed rect.+]), +                 rect(body: ellipse(body: rect(body: align(alignment: Axes(center, horizon), +                                                           body: { text(body: [+Stuff inside an ellipse!]), +                                                                   parbreak() }), +                                               fill: rgb(18%,80%,25%,100%), +                                               height: 100%, +                                               inset: 0.0pt, +                                               width: 100%), +                                    fill: rgb(100%,25%,21%,100%), +                                    height: 100%, +                                    inset: 0.0pt, +                                    width: 100%), +                      fill: rgb(16%,38%,10%,100%), +                      height: 2.0cm, +                      inset: 0.0pt, +                      width: 3.0cm), +                 parbreak(), +                 text(body: [Auto-sized ellipse.+]), +                 ellipse(body: { text(body: [+]), +                                 text(body: [+But, soft! what light through yonder window breaks?], +                                      size: 8.0pt), +                                 parbreak() }, +                         fill: rgb(18%,80%,25%,100%), +                         inset: 3.0pt, +                         stroke: (thickness: 3.0pt,+                                  color: rgb(100%,25%,21%,100%))), +                 parbreak(), +                 text(body: [An inline+], +                      size: 8.0pt), +                 box(body: ellipse(height: 6.0pt, +                                   inset: 0.0pt, +                                   outset: (top: 3.0pt,+                                            rest: 5.5pt), +                                   width: 8.0pt)), +                 text(body: [+ellipse.], +                      size: 8.0pt), +                 parbreak() })
+ test/typ/visualize/shape-fill-stroke-00.out view
@@ -0,0 +1,276 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-fill-stroke-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-fill-stroke-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-fill-stroke-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-00.typ"+    ( line 2 , column 2 )+    (Let+       (BasicBind (Just (Identifier "variant")))+       (FuncCall+          (FieldAccess+             (Ident (Identifier "with")) (Ident (Identifier "rect")))+          [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))+          , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+          ]))+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-00.typ"+    ( line 3 , column 2 )+    (Let+       (BasicBind (Just (Identifier "items")))+       (For+          (DestructuringBind+             [ Simple (Just (Identifier "i"))+             , Simple (Just (Identifier "item"))+             ])+          (FuncCall+             (FieldAccess+                (Ident (Identifier "enumerate"))+                (Array+                   [ Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg (Identifier "stroke") (Literal None) ])+                   , Reg (FuncCall (Ident (Identifier "variant")) [])+                   , Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg (Identifier "fill") (Literal None) ])+                   , Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg (Identifier "stroke") (Literal (Numeric 2.0 Pt)) ])+                   , Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg (Identifier "stroke") (Ident (Identifier "eastern")) ])+                   , Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg+                              (Identifier "stroke")+                              (Plus (Ident (Identifier "eastern")) (Literal (Numeric 2.0 Pt)))+                          ])+                   , Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern")) ])+                   , Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+                          , KeyValArg (Identifier "stroke") (Literal None)+                          ])+                   , Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+                          , KeyValArg (Identifier "stroke") (Literal None)+                          ])+                   , Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+                          , KeyValArg (Identifier "stroke") (Ident (Identifier "green"))+                          ])+                   , Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+                          , KeyValArg+                              (Identifier "stroke")+                              (Plus (Ident (Identifier "black")) (Literal (Numeric 2.0 Pt)))+                          ])+                   , Reg+                       (FuncCall+                          (Ident (Identifier "variant"))+                          [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+                          , KeyValArg+                              (Identifier "stroke")+                              (Plus (Ident (Identifier "green")) (Literal (Numeric 2.0 Pt)))+                          ])+                   ]))+             [])+          (Block+             (CodeBlock+                [ Array+                    [ Reg+                        (FuncCall+                           (Ident (Identifier "align"))+                           [ NormalArg (Ident (Identifier "horizon"))+                           , BlockArg+                               [ Code+                                   "typ/visualize/shape-fill-stroke-00.typ"+                                   ( line 17 , column 20 )+                                   (Plus (Ident (Identifier "i")) (Literal (Int 1)))+                               , Text "."+                               ]+                           ])+                    , Reg (Ident (Identifier "item"))+                    , Reg (Block (Content []))+                    ]+                ]))))+, ParBreak+, Code+    "typ/visualize/shape-fill-stroke-00.typ"+    ( line 20 , column 2 )+    (FuncCall+       (Ident (Identifier "grid"))+       [ KeyValArg+           (Identifier "columns")+           (Array+              [ Reg (Literal Auto)+              , Reg (Literal Auto)+              , Reg (Literal (Numeric 1.0 Fr))+              , Reg (Literal Auto)+              , Reg (Literal Auto)+              , Reg (Literal (Numeric 0.0 Fr))+              ])+       , KeyValArg (Identifier "gutter") (Literal (Numeric 5.0 Pt))+       , SpreadArg (Ident (Identifier "items"))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 parbreak(), +                 grid(children: (align(alignment: horizon, +                                       body: { text(body: [1]), +                                               text(body: [.]) }), +                                 rect(height: 10.0pt, +                                      stroke: none, +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [2]), +                                               text(body: [.]) }), +                                 rect(height: 10.0pt, +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [3]), +                                               text(body: [.]) }), +                                 rect(fill: none, +                                      height: 10.0pt, +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [4]), +                                               text(body: [.]) }), +                                 rect(height: 10.0pt, +                                      stroke: 2.0pt, +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [5]), +                                               text(body: [.]) }), +                                 rect(height: 10.0pt, +                                      stroke: rgb(13%,61%,67%,100%), +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [6]), +                                               text(body: [.]) }), +                                 rect(height: 10.0pt, +                                      stroke: (thickness: 2.0pt,+                                               color: rgb(13%,61%,67%,100%)), +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [7]), +                                               text(body: [.]) }), +                                 rect(fill: rgb(13%,61%,67%,100%), +                                      height: 10.0pt, +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [8]), +                                               text(body: [.]) }), +                                 rect(fill: rgb(13%,61%,67%,100%), +                                      height: 10.0pt, +                                      stroke: none, +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [9]), +                                               text(body: [.]) }), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      height: 10.0pt, +                                      stroke: none, +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [10]), +                                               text(body: [.]) }), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      height: 10.0pt, +                                      stroke: rgb(18%,80%,25%,100%), +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [11]), +                                               text(body: [.]) }), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      height: 10.0pt, +                                      stroke: (thickness: 2.0pt,+                                               color: rgb(0%,0%,0%,100%)), +                                      width: 20.0pt), +                                 {  }, +                                 align(alignment: horizon, +                                       body: { text(body: [12]), +                                               text(body: [.]) }), +                                 rect(fill: rgb(100%,25%,21%,100%), +                                      height: 10.0pt, +                                      stroke: (thickness: 2.0pt,+                                               color: rgb(18%,80%,25%,100%)), +                                      width: 20.0pt), +                                 {  }), +                      columns: (auto, +                                auto, +                                1.0fr, +                                auto, +                                auto, +                                0.0fr), +                      gutter: 5.0pt), +                 parbreak() })
+ test/typ/visualize/shape-fill-stroke-01.out view
@@ -0,0 +1,163 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-fill-stroke-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-fill-stroke-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 3 , column 2 )+    (LetFunc+       (Identifier "sq")+       [ SinkParam (Just (Identifier "args")) ]+       (FuncCall+          (Ident (Identifier "box"))+          [ NormalArg+              (FuncCall+                 (Ident (Identifier "square"))+                 [ KeyValArg (Identifier "size") (Literal (Numeric 10.0 Pt))+                 , SpreadArg (Ident (Identifier "args"))+                 ])+          ]))+, ParBreak+, Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 5 , column 2 )+    (Set+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "stroke") (Literal None) ])+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 6 , column 2 )+    (FuncCall (Ident (Identifier "sq")) [])+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 7 , column 2 )+    (Set+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "stroke") (Literal Auto) ])+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 8 , column 2 )+    (FuncCall (Ident (Identifier "sq")) [])+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "sq"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "teal")) ])+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "sq"))+       [ KeyValArg (Identifier "stroke") (Literal (Numeric 2.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "sq"))+       [ KeyValArg (Identifier "stroke") (Ident (Identifier "blue")) ])+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "sq"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "teal"))+       , KeyValArg (Identifier "stroke") (Ident (Identifier "blue"))+       ])+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-01.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "sq"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "teal"))+       , KeyValArg+           (Identifier "stroke")+           (Plus (Literal (Numeric 2.0 Pt)) (Ident (Identifier "blue")))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 text(body: [+]), +                 box(body: square(size: 10.0pt, +                                  stroke: none)), +                 text(body: [+]), +                 text(body: [+]), +                 box(body: square(size: 10.0pt, +                                  stroke: auto)), +                 text(body: [+]), +                 box(body: square(fill: rgb(22%,80%,80%,100%), +                                  size: 10.0pt, +                                  stroke: auto)), +                 text(body: [+]), +                 box(body: square(size: 10.0pt, +                                  stroke: 2.0pt)), +                 text(body: [+]), +                 box(body: square(size: 10.0pt, +                                  stroke: rgb(0%,45%,85%,100%))), +                 text(body: [+]), +                 box(body: square(fill: rgb(22%,80%,80%,100%), +                                  size: 10.0pt, +                                  stroke: rgb(0%,45%,85%,100%))), +                 text(body: [+]), +                 box(body: square(fill: rgb(22%,80%,80%,100%), +                                  size: 10.0pt, +                                  stroke: (thickness: 2.0pt,+                                           color: rgb(0%,45%,85%,100%)))), +                 parbreak() })
+ test/typ/visualize/shape-fill-stroke-02.out view
@@ -0,0 +1,99 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-fill-stroke-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-fill-stroke-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-fill-stroke-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-fill-stroke-02.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "stroke") (Literal (Numeric 4.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-02.typ"+    ( line 4 , column 2 )+    (Set+       (Ident (Identifier "text"))+       [ KeyValArg (Identifier "font") (Literal (String "Roboto")) ])+, SoftBreak+, Code+    "typ/visualize/shape-fill-stroke-02.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "square"))+       [ KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "left") , Ident (Identifier "red") )+              , Reg ( Ident (Identifier "top") , Ident (Identifier "yellow") )+              , Reg ( Ident (Identifier "right") , Ident (Identifier "green") )+              , Reg ( Ident (Identifier "bottom") , Ident (Identifier "blue") )+              ])+       , KeyValArg (Identifier "radius") (Literal (Numeric 100.0 Percent))+       , NormalArg+           (FuncCall+              (Ident (Identifier "align"))+              [ NormalArg+                  (Plus (Ident (Identifier "center")) (Ident (Identifier "horizon")))+              , BlockArg [ Strong [ Text "G" ] ]+              ])+       , KeyValArg (Identifier "inset") (Literal (Numeric 8.0 Pt))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 text(body: [+], +                      font: "Roboto"), +                 square(body: align(alignment: Axes(center, horizon), +                                    body: strong(body: text(body: [G], +                                                            font: "Roboto"))), +                        inset: 8.0pt, +                        radius: 100%, +                        stroke: (left: rgb(100%,25%,21%,100%),+                                 top: rgb(100%,86%,0%,100%),+                                 right: rgb(18%,80%,25%,100%),+                                 bottom: rgb(0%,45%,85%,100%))), +                 parbreak() })
+ test/typ/visualize/shape-rect-00.out view
@@ -0,0 +1,53 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-rect-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-rect-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-rect-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-rect-00.typ"+    ( line 3 , column 2 )+    (FuncCall (Ident (Identifier "rect")) [])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 rect(), +                 parbreak() })
+ test/typ/visualize/shape-rect-01.out view
@@ -0,0 +1,298 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-rect-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-rect-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-rect-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 150.0 Pt)) ])+, ParBreak+, Comment+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       , BlockArg [ Text "Textbox" ]+       ])+, ParBreak+, Comment+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "block"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "height") (Literal (Numeric 15.0 Pt))+              , KeyValArg+                  (Identifier "fill")+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "46b3c2")) ])+              , KeyValArg+                  (Identifier "stroke")+                  (Plus+                     (Literal (Numeric 2.0 Pt))+                     (FuncCall+                        (Ident (Identifier "rgb"))+                        [ NormalArg (Literal (String "234994")) ]))+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Cm))+       , KeyValArg+           (Identifier "fill")+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (String "9650d6")) ])+       , BlockArg+           [ Text "Fixed" , Space , Text "and" , Space , Text "padded" ]+       ])+, ParBreak+, Comment+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 18 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "height") (Literal (Numeric 1.0 Cm))+       , KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , KeyValArg+           (Identifier "fill")+           (FuncCall+              (Ident (Identifier "rgb"))+              [ NormalArg (Literal (String "734ced")) ])+       , BlockArg [ Text "Topleft" ]+       ])+, ParBreak+, Comment+, Text "{"+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 21 , column 3 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 0.5 In))+              , KeyValArg (Identifier "height") (Literal (Numeric 7.0 Pt))+              , KeyValArg+                  (Identifier "fill")+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "d6cd67")) ])+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 22 , column 3 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 0.5 In))+              , KeyValArg (Identifier "height") (Literal (Numeric 7.0 Pt))+              , KeyValArg+                  (Identifier "fill")+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "edd466")) ])+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 23 , column 3 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 0.5 In))+              , KeyValArg (Identifier "height") (Literal (Numeric 7.0 Pt))+              , KeyValArg+                  (Identifier "fill")+                  (FuncCall+                     (Ident (Identifier "rgb"))+                     [ NormalArg (Literal (String "e3be62")) ])+              ])+       ])+, Text "}"+, ParBreak+, Comment+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 26 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Fr))+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 2.0 Cm))+              , KeyValArg (Identifier "radius") (Literal (Numeric 60.0 Percent))+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 1.0 Cm))+              , KeyValArg+                  (Identifier "radius")+                  (Dict+                     [ Reg ( Ident (Identifier "left") , Literal (Numeric 10.0 Pt) )+                     , Reg ( Ident (Identifier "right") , Literal (Numeric 5.0 Pt) )+                     ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "rect"))+              [ KeyValArg (Identifier "width") (Literal (Numeric 1.25 Cm))+              , KeyValArg+                  (Identifier "radius")+                  (Dict+                     [ Reg ( Ident (Identifier "top-left") , Literal (Numeric 2.0 Pt) )+                     , Reg ( Ident (Identifier "top-right") , Literal (Numeric 5.0 Pt) )+                     , Reg+                         ( Ident (Identifier "bottom-right") , Literal (Numeric 8.0 Pt) )+                     , Reg+                         ( Ident (Identifier "bottom-left") , Literal (Numeric 11.0 Pt) )+                     ])+              ])+       ])+, ParBreak+, Comment+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 40 , column 2 )+    (Set+       (Ident (Identifier "rect"))+       [ KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "right") , Ident (Identifier "red") ) ])+       ])+, SoftBreak+, Code+    "typ/visualize/shape-rect-01.typ"+    ( line 41 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Percent))+       , KeyValArg (Identifier "fill") (Ident (Identifier "lime"))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "x") , Literal (Numeric 5.0 Pt) )+              , Reg ( Ident (Identifier "y") , Literal (Numeric 1.0 Pt) )+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 rect(body: text(body: [Textbox]), +                      fill: rgb(18%,80%,25%,100%)), +                 parbreak(), +                 block(body: rect(fill: rgb(27%,70%,76%,100%), +                                  height: 15.0pt, +                                  stroke: (thickness: 2.0pt,+                                           color: rgb(13%,28%,58%,100%)))), +                 parbreak(), +                 rect(body: text(body: [Fixed and padded]), +                      fill: rgb(58%,31%,83%,100%), +                      width: 2.0cm), +                 parbreak(), +                 rect(body: text(body: [Topleft]), +                      fill: rgb(45%,29%,92%,100%), +                      height: 1.0cm, +                      width: 100%), +                 parbreak(), +                 text(body: [{]), +                 box(body: rect(fill: rgb(83%,80%,40%,100%), +                                height: 7.0pt, +                                width: 0.5in)), +                 text(body: [+]), +                 box(body: rect(fill: rgb(92%,83%,40%,100%), +                                height: 7.0pt, +                                width: 0.5in)), +                 text(body: [+]), +                 box(body: rect(fill: rgb(89%,74%,38%,100%), +                                height: 7.0pt, +                                width: 0.5in)), +                 text(body: [}]), +                 parbreak(), +                 stack(children: (rect(radius: 60%, +                                       width: 2.0cm), +                                  rect(radius: (left: 10.0pt,+                                                right: 5.0pt), +                                       width: 1.0cm), +                                  rect(radius: (top-left: 2.0pt,+                                                top-right: 5.0pt,+                                                bottom-right: 8.0pt,+                                                bottom-left: 11.0pt), +                                       width: 1.25cm)), +                       dir: ltr, +                       spacing: 1.0fr), +                 parbreak(), +                 text(body: [+]), +                 rect(fill: rgb(0%,100%,43%,100%), +                      stroke: (x: 5.0pt, y: 1.0pt), +                      width: 100%), +                 parbreak() })
+ test/typ/visualize/shape-rect-02.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/shape-rect-03.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/shape-rounded-00.out view
@@ -0,0 +1,67 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-rounded-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-rounded-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-rounded-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-rounded-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg+           (Identifier "radius") (Negated (Literal (Numeric 20.0 Pt)))+       ])+, SoftBreak+, Code+    "typ/visualize/shape-rounded-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "radius") (Literal (Numeric 30.0 Pt)) ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 rect(radius: -20.0pt), +                 text(body: [+]), +                 square(radius: 30.0pt), +                 parbreak() })
+ test/typ/visualize/shape-square-00.out view
@@ -0,0 +1,68 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-square-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-square-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-square-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-square-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg (FuncCall (Ident (Identifier "square")) []) ])+, SoftBreak+, Code+    "typ/visualize/shape-square-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "box"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "square")) [ BlockArg [ Text "hey!" ] ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 box(body: square()), +                 text(body: [+]), +                 box(body: square(body: text(body: [hey!]))), +                 parbreak() })
+ test/typ/visualize/shape-square-01.out view
@@ -0,0 +1,77 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-square-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-square-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-square-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-square-01.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+       , BlockArg+           [ SoftBreak+           , Code+               "typ/visualize/shape-square-01.typ"+               ( line 4 , column 4 )+               (Set+                  (Ident (Identifier "text"))+                  [ KeyValArg (Identifier "fill") (Ident (Identifier "white"))+                  , KeyValArg (Identifier "weight") (Literal (String "bold"))+                  ])+           , SoftBreak+           , Text "Typst"+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 square(body: { text(body: [+]), +                                text(body: [+Typst], +                                     fill: rgb(100%,100%,100%,100%), +                                     weight: "bold"), +                                parbreak() }, +                        fill: rgb(13%,61%,67%,100%)), +                 parbreak() })
+ test/typ/visualize/shape-square-02.out view
@@ -0,0 +1,90 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-square-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-square-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-square-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-square-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "eastern"))+       , BlockArg+           [ SoftBreak+           , Code+               "typ/visualize/shape-square-02.typ"+               ( line 4 , column 4 )+               (FuncCall+                  (Ident (Identifier "rect"))+                  [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Pt))+                  , KeyValArg (Identifier "height") (Literal (Numeric 5.0 Pt))+                  , KeyValArg (Identifier "fill") (Ident (Identifier "green"))+                  ])+           , SoftBreak+           , Code+               "typ/visualize/shape-square-02.typ"+               ( line 5 , column 4 )+               (FuncCall+                  (Ident (Identifier "rect"))+                  [ KeyValArg (Identifier "width") (Literal (Numeric 40.0 Percent))+                  , KeyValArg (Identifier "height") (Literal (Numeric 5.0 Pt))+                  , KeyValArg (Identifier "stroke") (Ident (Identifier "green"))+                  ])+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 square(body: { text(body: [+]), +                                rect(fill: rgb(18%,80%,25%,100%), +                                     height: 5.0pt, +                                     width: 10.0pt), +                                text(body: [+]), +                                rect(height: 5.0pt, +                                     stroke: rgb(18%,80%,25%,100%), +                                     width: 40%), +                                parbreak() }, +                        fill: rgb(13%,61%,67%,100%)), +                 parbreak() })
+ test/typ/visualize/shape-square-03.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-square-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-square-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-square-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-square-03.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 75.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 100.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/shape-square-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       , BlockArg+           [ SoftBreak+           , Text "But,"+           , Space+           , Text "soft!"+           , Space+           , Text "what"+           , Space+           , Text "light"+           , Space+           , Text "through"+           , Space+           , Text "yonder"+           , Space+           , Text "window"+           , Space+           , Text "breaks?"+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 square(body: { text(body: [+But, soft! what light through yonder window breaks?]), +                                parbreak() }, +                        fill: rgb(18%,80%,25%,100%)), +                 parbreak() })
+ test/typ/visualize/shape-square-04.out view
@@ -0,0 +1,89 @@+--- parse tree ---+[ Code+    "typ/visualize/shape-square-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/shape-square-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/shape-square-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/shape-square-04.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 100.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 75.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/shape-square-04.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "square"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "green"))+       , BlockArg+           [ SoftBreak+           , Text "But,"+           , Space+           , Text "soft!"+           , Space+           , Text "what"+           , Space+           , Text "light"+           , Space+           , Text "through"+           , Space+           , Text "yonder"+           , Space+           , Text "window"+           , Space+           , Text "breaks?"+           , ParBreak+           ]+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 square(body: { text(body: [+But, soft! what light through yonder window breaks?]), +                                parbreak() }, +                        fill: rgb(18%,80%,25%,100%)), +                 parbreak() })
+ test/typ/visualize/shape-square-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/stroke-00.out view
@@ -0,0 +1,165 @@+--- parse tree ---+[ Code+    "typ/visualize/stroke-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/stroke-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/stroke-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/stroke-00.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg (Identifier "stroke") (Ident (Identifier "red"))+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-00.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg (Identifier "stroke") (Literal (Numeric 2.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-00.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-00.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Plus (Ident (Identifier "blue")) (Literal (Numeric 1.5 Pt)))+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-00.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-00.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )+              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )+              , Reg ( Ident (Identifier "dash") , Literal (String "dashed") )+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-00.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-00.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )+              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 4.0 Pt) )+              , Reg ( Ident (Identifier "cap") , Literal (String "round") )+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 line(length: 60.0pt, +                      stroke: rgb(100%,25%,21%,100%)), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: 2.0pt), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: (thickness: 1.5pt,+                               color: rgb(0%,45%,85%,100%))), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: (paint: rgb(100%,25%,21%,100%),+                               thickness: 1.0pt,+                               dash: "dashed")), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: (paint: rgb(100%,25%,21%,100%),+                               thickness: 4.0pt,+                               cap: "round")), +                 parbreak() })
+ test/typ/visualize/stroke-01.out view
@@ -0,0 +1,123 @@+--- parse tree ---+[ Code+    "typ/visualize/stroke-01.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/stroke-01.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/stroke-01.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/stroke-01.typ"+    ( line 3 , column 2 )+    (Set+       (Ident (Identifier "line"))+       [ KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )+              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )+              , Reg ( Ident (Identifier "cap") , Literal (String "butt") )+              , Reg+                  ( Ident (Identifier "dash") , Literal (String "dash-dotted") )+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-01.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-01.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-01.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg (Identifier "stroke") (Ident (Identifier "blue"))+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-01.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-01.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict [ Reg ( Ident (Identifier "dash") , Literal None ) ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: (paint: rgb(100%,25%,21%,100%),+                               thickness: 1.0pt,+                               cap: "butt",+                               dash: "dash-dotted")), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: rgb(0%,45%,85%,100%)), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: (dash: none)), +                 parbreak() })
+ test/typ/visualize/stroke-02.out view
@@ -0,0 +1,127 @@+--- parse tree ---+[ Code+    "typ/visualize/stroke-02.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/stroke-02.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/stroke-02.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/stroke-02.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))+       , KeyValArg (Identifier "stroke") (Ident (Identifier "red"))+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-02.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-02.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "rest") , Ident (Identifier "red") )+              , Reg+                  ( Ident (Identifier "top")+                  , Dict+                      [ Reg ( Ident (Identifier "paint") , Ident (Identifier "blue") )+                      , Reg ( Ident (Identifier "dash") , Literal (String "dashed") )+                      ]+                  )+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-02.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-02.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 20.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 20.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "thickness") , Literal (Numeric 5.0 Pt) )+              , Reg ( Ident (Identifier "join") , Literal (String "round") )+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 rect(height: 20.0pt, +                      stroke: rgb(100%,25%,21%,100%), +                      width: 20.0pt), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 rect(height: 20.0pt, +                      stroke: (rest: rgb(100%,25%,21%,100%),+                               top: (paint: rgb(0%,45%,85%,100%),+                                     dash: "dashed")), +                      width: 20.0pt), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 rect(height: 20.0pt, +                      stroke: (thickness: 5.0pt,+                               join: "round"), +                      width: 20.0pt), +                 parbreak() })
+ test/typ/visualize/stroke-03.out view
@@ -0,0 +1,228 @@+--- parse tree ---+[ Code+    "typ/visualize/stroke-03.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/stroke-03.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/stroke-03.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/stroke-03.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )+              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )+              , Reg+                  ( Ident (Identifier "dash")+                  , Array+                      [ Reg (Literal (String "dot")) , Reg (Literal (Numeric 1.0 Pt)) ]+                  )+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-03.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-03.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )+              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )+              , Reg+                  ( Ident (Identifier "dash")+                  , Array+                      [ Reg (Literal (String "dot"))+                      , Reg (Literal (Numeric 1.0 Pt))+                      , Reg (Literal (Numeric 4.0 Pt))+                      , Reg (Literal (Numeric 2.0 Pt))+                      ]+                  )+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-03.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-03.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )+              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )+              , Reg+                  ( Ident (Identifier "dash")+                  , Dict+                      [ Reg+                          ( Ident (Identifier "array")+                          , Array+                              [ Reg (Literal (String "dot"))+                              , Reg (Literal (Numeric 1.0 Pt))+                              , Reg (Literal (Numeric 4.0 Pt))+                              , Reg (Literal (Numeric 2.0 Pt))+                              ]+                          )+                      , Reg ( Ident (Identifier "phase") , Literal (Numeric 5.0 Pt) )+                      ]+                  )+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-03.typ"+    ( line 8 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-03.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )+              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )+              , Reg ( Ident (Identifier "dash") , Array [] )+              ])+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-03.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "v")) [ NormalArg (Literal (Numeric 3.0 Pt)) ])+, SoftBreak+, Code+    "typ/visualize/stroke-03.typ"+    ( line 11 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 60.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )+              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 1.0 Pt) )+              , Reg+                  ( Ident (Identifier "dash")+                  , Array+                      [ Reg (Literal (Numeric 1.0 Pt))+                      , Reg (Literal (Numeric 3.0 Pt))+                      , Reg (Literal (Numeric 9.0 Pt))+                      ]+                  )+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 line(length: 60.0pt, +                      stroke: (paint: rgb(100%,25%,21%,100%),+                               thickness: 1.0pt,+                               dash: ("dot", 1.0pt))), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: (paint: rgb(100%,25%,21%,100%),+                               thickness: 1.0pt,+                               dash: ("dot", +                                      1.0pt, +                                      4.0pt, +                                      2.0pt))), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: (paint: rgb(100%,25%,21%,100%),+                               thickness: 1.0pt,+                               dash: (array: ("dot", +                                              1.0pt, +                                              4.0pt, +                                              2.0pt),+                                      phase: 5.0pt))), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: (paint: rgb(100%,25%,21%,100%),+                               thickness: 1.0pt,+                               dash: ())), +                 text(body: [+]), +                 v(amount: 3.0pt), +                 text(body: [+]), +                 line(length: 60.0pt, +                      stroke: (paint: rgb(100%,25%,21%,100%),+                               thickness: 1.0pt,+                               dash: (1.0pt, +                                      3.0pt, +                                      9.0pt))), +                 parbreak() })
+ test/typ/visualize/stroke-04.out view
@@ -0,0 +1,228 @@+--- parse tree ---+[ Code+    "typ/visualize/stroke-04.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/stroke-04.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/stroke-04.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, Code+    "typ/visualize/stroke-04.typ"+    ( line 3 , column 2 )+    (FuncCall+       (Ident (Identifier "stack"))+       [ KeyValArg (Identifier "dir") (Ident (Identifier "ltr"))+       , KeyValArg (Identifier "spacing") (Literal (Numeric 1.0 Em))+       , NormalArg+           (FuncCall+              (Ident (Identifier "polygon"))+              [ KeyValArg+                  (Identifier "stroke")+                  (Dict+                     [ Reg ( Ident (Identifier "thickness") , Literal (Numeric 4.0 Pt) )+                     , Reg ( Ident (Identifier "paint") , Ident (Identifier "blue") )+                     , Reg ( Ident (Identifier "join") , Literal (String "round") )+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 20.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 15.0 Pt))+                     , Reg (Literal (Numeric 0.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 40.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 15.0 Pt))+                     , Reg (Literal (Numeric 45.0 Pt))+                     ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "polygon"))+              [ KeyValArg+                  (Identifier "stroke")+                  (Dict+                     [ Reg ( Ident (Identifier "thickness") , Literal (Numeric 4.0 Pt) )+                     , Reg ( Ident (Identifier "paint") , Ident (Identifier "blue") )+                     , Reg ( Ident (Identifier "join") , Literal (String "bevel") )+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 20.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 15.0 Pt))+                     , Reg (Literal (Numeric 0.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 40.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 15.0 Pt))+                     , Reg (Literal (Numeric 45.0 Pt))+                     ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "polygon"))+              [ KeyValArg+                  (Identifier "stroke")+                  (Dict+                     [ Reg ( Ident (Identifier "thickness") , Literal (Numeric 4.0 Pt) )+                     , Reg ( Ident (Identifier "paint") , Ident (Identifier "blue") )+                     , Reg ( Ident (Identifier "join") , Literal (String "miter") )+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 20.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 15.0 Pt))+                     , Reg (Literal (Numeric 0.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 40.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 15.0 Pt))+                     , Reg (Literal (Numeric 45.0 Pt))+                     ])+              ])+       , NormalArg+           (FuncCall+              (Ident (Identifier "polygon"))+              [ KeyValArg+                  (Identifier "stroke")+                  (Dict+                     [ Reg ( Ident (Identifier "thickness") , Literal (Numeric 4.0 Pt) )+                     , Reg ( Ident (Identifier "paint") , Ident (Identifier "blue") )+                     , Reg ( Ident (Identifier "join") , Literal (String "miter") )+                     , Reg ( Ident (Identifier "miter-limit") , Literal (Float 20.0) )+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 20.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 15.0 Pt))+                     , Reg (Literal (Numeric 0.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Pt))+                     , Reg (Literal (Numeric 40.0 Pt))+                     ])+              , NormalArg+                  (Array+                     [ Reg (Literal (Numeric 15.0 Pt))+                     , Reg (Literal (Numeric 45.0 Pt))+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 stack(children: (polygon(stroke: (thickness: 4.0pt,+                                                   paint: rgb(0%,45%,85%,100%),+                                                   join: "round"), +                                          vertices: ((0.0pt, +                                                      20.0pt), +                                                     (15.0pt, +                                                      0.0pt), +                                                     (0.0pt, +                                                      40.0pt), +                                                     (15.0pt, +                                                      45.0pt))), +                                  polygon(stroke: (thickness: 4.0pt,+                                                   paint: rgb(0%,45%,85%,100%),+                                                   join: "bevel"), +                                          vertices: ((0.0pt, +                                                      20.0pt), +                                                     (15.0pt, +                                                      0.0pt), +                                                     (0.0pt, +                                                      40.0pt), +                                                     (15.0pt, +                                                      45.0pt))), +                                  polygon(stroke: (thickness: 4.0pt,+                                                   paint: rgb(0%,45%,85%,100%),+                                                   join: "miter"), +                                          vertices: ((0.0pt, +                                                      20.0pt), +                                                     (15.0pt, +                                                      0.0pt), +                                                     (0.0pt, +                                                      40.0pt), +                                                     (15.0pt, +                                                      45.0pt))), +                                  polygon(stroke: (thickness: 4.0pt,+                                                   paint: rgb(0%,45%,85%,100%),+                                                   join: "miter",+                                                   miter-limit: 20.0), +                                          vertices: ((0.0pt, +                                                      20.0pt), +                                                     (15.0pt, +                                                      0.0pt), +                                                     (0.0pt, +                                                      40.0pt), +                                                     (15.0pt, +                                                      45.0pt)))), +                       dir: ltr, +                       spacing: 1.0em), +                 parbreak() })
+ test/typ/visualize/stroke-05.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/stroke-06.out view
@@ -0,0 +1,2 @@+--- skipped ---+
+ test/typ/visualize/stroke-07.out view
@@ -0,0 +1,327 @@+--- parse tree ---+[ Code+    "typ/visualize/stroke-07.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/stroke-07.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/stroke-07.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Comment+, SoftBreak+, Code+    "typ/visualize/stroke-07.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+       , KeyValArg (Identifier "stroke") (Literal None)+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-07.typ"+    ( line 5 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+       , KeyValArg (Identifier "stroke") (Literal (Numeric 0.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-07.typ"+    ( line 6 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+       , KeyValArg (Identifier "stroke") (Literal None)+       , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-07.typ"+    ( line 7 , column 2 )+    (FuncCall+       (Ident (Identifier "rect"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 10.0 Pt))+       , KeyValArg (Identifier "height") (Literal (Numeric 10.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Plus (Literal (Numeric 0.0 Pt)) (Ident (Identifier "red")))+       , KeyValArg (Identifier "fill") (Ident (Identifier "blue"))+       ])+, ParBreak+, Code+    "typ/visualize/stroke-07.typ"+    ( line 9 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Pt))+       , KeyValArg (Identifier "stroke") (Literal (Numeric 0.0 Pt))+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-07.typ"+    ( line 10 , column 2 )+    (FuncCall+       (Ident (Identifier "line"))+       [ KeyValArg (Identifier "length") (Literal (Numeric 30.0 Pt))+       , KeyValArg+           (Identifier "stroke")+           (Dict+              [ Reg ( Ident (Identifier "paint") , Ident (Identifier "red") )+              , Reg ( Ident (Identifier "thickness") , Literal (Numeric 0.0 Pt) )+              , Reg+                  ( Ident (Identifier "dash")+                  , Array+                      [ Reg (Literal (String "dot")) , Reg (Literal (Numeric 1.0 Pt)) ]+                  )+              ])+       ])+, ParBreak+, Code+    "typ/visualize/stroke-07.typ"+    ( line 12 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg (Identifier "columns") (Literal (Int 2))+       , KeyValArg (Identifier "stroke") (Literal None)+       , BlockArg [ Text "A" ]+       , BlockArg [ Text "B" ]+       ])+, SoftBreak+, Code+    "typ/visualize/stroke-07.typ"+    ( line 13 , column 2 )+    (FuncCall+       (Ident (Identifier "table"))+       [ KeyValArg (Identifier "columns") (Literal (Int 2))+       , KeyValArg (Identifier "stroke") (Literal (Numeric 0.0 Pt))+       , BlockArg [ Text "A" ]+       , BlockArg [ Text "B" ]+       ])+, ParBreak+, Code+    "typ/visualize/stroke-07.typ"+    ( line 15 , column 2 )+    (FuncCall+       (Ident (Identifier "path"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , KeyValArg (Identifier "stroke") (Literal None)+       , KeyValArg (Identifier "closed") (Literal (Boolean True))+       , NormalArg+           (Array+              [ Reg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Percent))+                     , Reg (Literal (Numeric 0.0 Percent))+                     ])+              , Reg+                  (Array+                     [ Reg (Literal (Numeric 4.0 Percent))+                     , Reg (Negated (Literal (Numeric 4.0 Percent)))+                     ])+              ])+       , NormalArg+           (Array+              [ Reg+                  (Array+                     [ Reg (Literal (Numeric 50.0 Percent))+                     , Reg (Literal (Numeric 50.0 Percent))+                     ])+              , Reg+                  (Array+                     [ Reg (Literal (Numeric 4.0 Percent))+                     , Reg (Negated (Literal (Numeric 4.0 Percent)))+                     ])+              ])+       , NormalArg+           (Array+              [ Reg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Percent))+                     , Reg (Literal (Numeric 50.0 Percent))+                     ])+              , Reg+                  (Array+                     [ Reg (Literal (Numeric 4.0 Percent))+                     , Reg (Literal (Numeric 4.0 Percent))+                     ])+              ])+       , NormalArg+           (Array+              [ Reg+                  (Array+                     [ Reg (Literal (Numeric 50.0 Percent))+                     , Reg (Literal (Numeric 0.0 Percent))+                     ])+              , Reg+                  (Array+                     [ Reg (Literal (Numeric 4.0 Percent))+                     , Reg (Literal (Numeric 4.0 Percent))+                     ])+              ])+       ])+, ParBreak+, Code+    "typ/visualize/stroke-07.typ"+    ( line 25 , column 2 )+    (FuncCall+       (Ident (Identifier "path"))+       [ KeyValArg (Identifier "fill") (Ident (Identifier "red"))+       , KeyValArg (Identifier "stroke") (Literal (Numeric 0.0 Pt))+       , KeyValArg (Identifier "closed") (Literal (Boolean True))+       , NormalArg+           (Array+              [ Reg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Percent))+                     , Reg (Literal (Numeric 0.0 Percent))+                     ])+              , Reg+                  (Array+                     [ Reg (Literal (Numeric 4.0 Percent))+                     , Reg (Negated (Literal (Numeric 4.0 Percent)))+                     ])+              ])+       , NormalArg+           (Array+              [ Reg+                  (Array+                     [ Reg (Literal (Numeric 50.0 Percent))+                     , Reg (Literal (Numeric 50.0 Percent))+                     ])+              , Reg+                  (Array+                     [ Reg (Literal (Numeric 4.0 Percent))+                     , Reg (Negated (Literal (Numeric 4.0 Percent)))+                     ])+              ])+       , NormalArg+           (Array+              [ Reg+                  (Array+                     [ Reg (Literal (Numeric 0.0 Percent))+                     , Reg (Literal (Numeric 50.0 Percent))+                     ])+              , Reg+                  (Array+                     [ Reg (Literal (Numeric 4.0 Percent))+                     , Reg (Literal (Numeric 4.0 Percent))+                     ])+              ])+       , NormalArg+           (Array+              [ Reg+                  (Array+                     [ Reg (Literal (Numeric 50.0 Percent))+                     , Reg (Literal (Numeric 0.0 Percent))+                     ])+              , Reg+                  (Array+                     [ Reg (Literal (Numeric 4.0 Percent))+                     , Reg (Literal (Numeric 4.0 Percent))+                     ])+              ])+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 text(body: [+]), +                 rect(height: 10.0pt, +                      stroke: none, +                      width: 10.0pt), +                 text(body: [+]), +                 rect(height: 10.0pt, +                      stroke: 0.0pt, +                      width: 10.0pt), +                 text(body: [+]), +                 rect(fill: rgb(0%,45%,85%,100%), +                      height: 10.0pt, +                      stroke: none, +                      width: 10.0pt), +                 text(body: [+]), +                 rect(fill: rgb(0%,45%,85%,100%), +                      height: 10.0pt, +                      stroke: (thickness: 0.0pt,+                               color: rgb(100%,25%,21%,100%)), +                      width: 10.0pt), +                 parbreak(), +                 line(length: 30.0pt, +                      stroke: 0.0pt), +                 text(body: [+]), +                 line(length: 30.0pt, +                      stroke: (paint: rgb(100%,25%,21%,100%),+                               thickness: 0.0pt,+                               dash: ("dot", 1.0pt))), +                 parbreak(), +                 table(children: (text(body: [A]), +                                  text(body: [B])), +                       columns: 2, +                       stroke: none), +                 text(body: [+]), +                 table(children: (text(body: [A]), +                                  text(body: [B])), +                       columns: 2, +                       stroke: 0.0pt), +                 parbreak(), +                 path(closed: true, +                      fill: rgb(100%,25%,21%,100%), +                      stroke: none, +                      vertices: (((0%, 0%), +                                  (4%, -4%)), +                                 ((50%, 50%), (4%, -4%)), +                                 ((0%, 50%), (4%, 4%)), +                                 ((50%, 0%), (4%, 4%)))), +                 parbreak(), +                 path(closed: true, +                      fill: rgb(100%,25%,21%,100%), +                      stroke: 0.0pt, +                      vertices: (((0%, 0%), +                                  (4%, -4%)), +                                 ((50%, 50%), (4%, -4%)), +                                 ((0%, 50%), (4%, 4%)), +                                 ((50%, 0%), (4%, 4%)))), +                 parbreak() })
+ test/typ/visualize/svg-text-00.out view
@@ -0,0 +1,72 @@+--- parse tree ---+[ Code+    "typ/visualize/svg-text-00.typ"+    ( line 1 , column 2 )+    (Let+       (BasicBind (Just (Identifier "test")))+       (FuncExpr+          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]+          (Block+             (CodeBlock+                [ If+                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))+                      , Block (Content [ Text "\9989" ])+                      )+                    , ( Literal (Boolean True)+                      , Block+                          (Content+                             [ Text "\10060"+                             , Text "("+                             , Code+                                 "typ/visualize/svg-text-00.typ"+                                 ( line 1 , column 47 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "x")) ])+                             , Space+                             , Text "/"+                             , Text "="+                             , Space+                             , Code+                                 "typ/visualize/svg-text-00.typ"+                                 ( line 1 , column 59 )+                                 (FuncCall+                                    (Ident (Identifier "repr"))+                                    [ NormalArg (Ident (Identifier "y")) ])+                             , Text ")"+                             ])+                      )+                    ]+                ]))))+, SoftBreak+, Code+    "typ/visualize/svg-text-00.typ"+    ( line 2 , column 2 )+    (Set+       (Ident (Identifier "page"))+       [ KeyValArg (Identifier "width") (Literal (Numeric 250.0 Pt)) ])+, ParBreak+, Code+    "typ/visualize/svg-text-00.typ"+    ( line 4 , column 2 )+    (FuncCall+       (Ident (Identifier "figure"))+       [ NormalArg+           (FuncCall+              (Ident (Identifier "image"))+              [ NormalArg (Literal (String "/assets/files/diagram.svg")) ])+       , KeyValArg+           (Identifier "caption")+           (Block+              (Content+                 [ Text "A" , Space , Text "textful" , Space , Text "diagram" ]))+       ])+, ParBreak+]+--- evaluated ---+document(body: { text(body: [+]), +                 parbreak(), +                 figure(body: image(path: "/assets/files/diagram.svg"), +                        caption: text(body: [A textful diagram])), +                 parbreak() })
typst.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.4 name:               typst-version:            0.6.2+version:            0.7 synopsis:           Parsing and evaluating typst syntax. description:        A library for parsing and evaluating typst syntax.                     Typst (<https://typst.app>) is a document layout and@@ -15,7 +15,9 @@ build-type:         Simple extra-doc-files:    CHANGELOG.md extra-source-files: test/typ/**/*.typ-                    test/out/**/*.out+                    test/typ/**/*.out+                    test/skip/**/*.typ+                    test/skip/**/*.out                     test/typ/regression/something.txt                     test/typ/regression/addons/example.typ                     test/assets/files/*.png