View on GitHub
File Changes
            Just f -> pure f
            Nothing -> do
                name <- liftQuote $ toProgramName fixNKey
-
                let (fixNTerm, fixNType) = if arity == 1 then Function.fixAndType else Function.fixNAndType arity (void fixBy)
+
                let (fixNTerm, fixNType) =
+
                        if arity == 1 then Function.fixAndType else Function.fixNAndType arity (void fixBy)
                    var :: PLC.VarDecl TyName Name (Provenance a)
                    var = PLC.VarDecl NoProvenance (NoProvenance <$ name) (NoProvenance <$ fixNType)
+
                -- fixN depends on fixBy
                defineTerm fixNKey (PLC.Def var (NoProvenance <$ fixNTerm, Strict)) (Set.singleton fixByKey)

                      
                pure $ PIR.mkVar p0 var

                      
    liftQuote $ case funs of
+
        -- Takes a list of function defs and function bodies and turns them into a Scott-encoded tuple, which
+
        -- happens to be exactly what we want
        f :| [] -> Tuple.getSpineToTuple p0 [(PLC.functionDefToType f, Function.getSingleFixOf p0 fixN f)]
        f :| fs -> Function.getMutualFixOf p0 fixN (f:fs)