@@ -97,11 +97,11 @@ formatExport indentation indent' export' = case export' of
9797 CST.ExportType name' dataMembers' -> do
9898 let
9999 indentTrick = indent' <> indentation
100− (indent /\ prefix) = case lines of
100+ indent /\ prefix = case lines of
101101 MultipleLines ->
102102 indentTrick /\ (newline <> indentTrick)
103103 SingleLine ->
104− (indent' /\ blank)
104+ indent' /\ blank
105105 formatName indent' blank name'
106106 <> prefix
107107 <> foldMap (formatDataMembers indentation indent) dataMembers'
@@ -274,6 +274,7 @@ formatDeclarations indentation = foldMap formatOne
274274
275275formatDeclaration :: Indentation -> Indent -> CST.Declaration Void -> String
276276formatDeclaration indentation indent declaration = case declaration of
277+
277278 CST.DeclData dataHead maybeConstructors -> do
278279 formatDataHead indentation indent dataHead
279280 <> foldMap formatDataConstructors maybeConstructors
@@ -288,6 +289,7 @@ formatDeclaration indentation indent declaration = case declaration of
288289 blank
289290 (formatDataConstructor indentation indented)
290291 constructors
292+
291293 CST.DeclType dataHead equals typo ->
292294 formatDataHead indentation indent dataHead
293295 <> newline
@@ -296,6 +298,7 @@ formatDeclaration indentation indent declaration = case declaration of
296298 <> space
297299 <> formatType indentation (indented <> indentation) (singleOrMultiline typo) typo
298300 <> newline
301+
299302 CST.DeclNewtype dataHead equals name typo -> do
300303 formatDataHead indentation indent dataHead
301304 <> (newline <> indented)
@@ -309,6 +312,7 @@ formatDeclaration indentation indent declaration = case declaration of
309312 prefix = case singleOrMultilineBetween name typo of
310313 MultipleLines -> newline <> indented
311314 SingleLine -> space
315+
312316 CST.DeclClass classHead members -> do
313317 formatClassHead lines indentation indent classHead
314318 <> foldMap formatMember members
@@ -316,9 +320,10 @@ formatDeclaration indentation indent declaration = case declaration of
316320 where
317321 formatMember (whereClause /\ labeleds) =
318322 formatSourceToken indent space whereClause
319− <> intercalateMap newline formatLabeledMember labeleds
323+ <> intercalateMap (newline <> indented) formatLabeledMember labeleds
320324 formatLabeledMember labeled =
321325 newline <> indented <> formatLabeledNameType indentation indented labeled
326+
322327 CST.DeclInstanceChain instances ->
323328 formatSeparated
324329 (singleOrMultiline instances)
@@ -327,29 +332,36 @@ formatDeclaration indentation indent declaration = case declaration of
327332 (formatInstance indentation indent)
328333 instances
329334 <> newline
335+
330336 CST.DeclDerive sourceToken newtype' instanceHead ->
331337 formatSourceToken indent blank sourceToken
332338 <> foldMap (formatSourceToken indent space) newtype'
333339 <> space
334340 <> formatInstanceHead indentation indent instanceHead
335341 <> newline
342+
336343 CST.DeclKindSignature kindOfDeclaration labeled ->
337344 formatSourceToken indentation indent kindOfDeclaration
338345 <> space
339346 <> formatLabeledNameType indentation indent labeled
340− CST.DeclSignature labeled ->
347+
348+ CST.DeclSignature labeled ->
341349 formatLabeledNameType indentation indent labeled
350+
342351 CST.DeclValue valueBindingFields ->
343352 formatValueBindingFields indentation indent valueBindingFields
344353 <> newline
354+
345355 CST.DeclFixity fixityFields ->
346356 formatFixityFields indent fixityFields <> newline
357+
347358 CST.DeclForeign foreign'' import'' foreign''' ->
348359 formatSourceToken indent blank foreign''
349360 <> formatSourceToken indent space import''
350361 <> space
351362 <> formatForeign lines indentation indent foreign'''
352363 <> newline
364+
353365 CST.DeclRole type'' role'' name' roles -> do
354366 formatSourceToken indentation indent type''
355367 <> space
@@ -362,6 +374,7 @@ formatDeclaration indentation indent declaration = case declaration of
362374 )
363375 roles
364376 <> newline
377+
365378 CST.DeclError e -> absurd e
366379 where
367380 indented = indent <> indentation
@@ -788,7 +801,7 @@ formatExpr ::
788801formatExpr indentation indent'' expr'' = case expr'' of
789802 CST.ExprAdo adoBlock' ->
790803 formatAdoBlock lines indentation indent'' adoBlock'
791− CST.ExprApp expr1 expressions -> do -- [CHECK] Verify
804+ CST.ExprApp expr1 expressions -> -- [CHECK] Verify
792805 formatExpr indentation indent'' expr1
793806 <> foldMap (formatExprPrefix lines indentation indent'') expressions
794807 CST.ExprArray delimited' -> do
@@ -847,12 +860,11 @@ formatExpr indentation indent'' expr'' = case expr'' of
847860 formatSourceToken indent'' blank number
848861 CST.ExprOp expr1 expressions -> do
849862 let
850− indentTrick = indent'' <> indentation
851863 indent /\ indent' /\ prefix = case lines of
852864 MultipleLines ->
853− (indentTrick) /\ indentTrick /\ (newline <> indentTrick)
865+ (indent'' <> indentation <> indentation) /\ (indent'' <> indentation) /\ (newline <> indent'' <> indentation)
854866 SingleLine ->
855− indentTrick /\ indent'' /\ space
867+ (indent'' <> indentation) /\ indent'' /\ space
856868 formatExpr indentation indent'' expr1
857869 <> foldMap (\(op /\ expr) ->
858870 formatQualifiedName indent' prefix op
@@ -1466,7 +1478,7 @@ formatType indentation indent lines t = case t of
14661478 MultipleLines -> { indented: indent <> indentation, prefix: newline <> indent }
14671479 SingleLine -> { indented: indent, prefix: space }
14681480
1469− formatTypes = foldMap (\t -> prefix <> formatType indentation indented lines t)
1481+ formatTypes = foldMap (\typo -> prefix <> formatType indentation indented lines typo)
14701482 CST.TypeOp typo types ->
14711483 formatType indentation indent lines typo
14721484 <> foldMap formatOp types -- [TODO] Verify
@@ -1535,7 +1547,7 @@ formatLabeled indentation indent' formatLabel formatValue
15351547 { indent, prefix } = case singleOrMultiline labeled of
15361548 MultipleLines -> do
15371549 { indent: indent' <> indentation
1538− , prefix: newline <> indent' <> indentation <> indentation
1550+ , prefix: newline <> indent' <> indentation
15391551 }
15401552 SingleLine -> { indent: indent', prefix: space}
15411553