let List/map = https://prelude.dhall-lang.org/v21.1.0/List/map sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680 let AccountTree : Type = forall (a : Type) -> forall ( Fix : < AccountF : { _1 : Text, _2 : Text } | PlaceholderF : { _1 : Text, _2 : Text, _3 : List a } > -> a ) -> a let AccountTreeF = \(a : Type) -> < AccountF : { _1 : Text, _2 : Text } | PlaceholderF : { _1 : Text, _2 : Text, _3 : List a } > let Account : Text -> Text -> AccountTree = \(desc : Text) -> \(name : Text) -> \(a : Type) -> let f = AccountTreeF a in \(Fix : f -> a) -> Fix (f.AccountF { _1 = desc, _2 = name }) let Placeholder : Text -> Text -> List AccountTree -> AccountTree = \(desc : Text) -> \(name : Text) -> \(children : List AccountTree) -> \(a : Type) -> let f = AccountTreeF a in \(Fix : f -> a) -> let apply = \(x : AccountTree) -> x a Fix in Fix ( f.PlaceholderF { _1 = desc , _2 = name , _3 = List/map AccountTree a apply children } ) in { Account, Placeholder }