node = try block <|> trimSpaces
       ( do nodeLabel <- scalar
            subNodes <- option [] $ try (node <|> group)
            return [(Node nodeLabel subNodes) ]
       )
node = try block <|> trimSpaces
       ( do nodeLabel <- scalar
            subNodes <- option [] $ try (node <|> group)
            return [(Node nodeLabel subNodes) ]
       )
node = try block <|> trimSpaces
       ( do nodeLabel <- scalar
            subNodes <- option [] $ try (node <|> group)
            return [(Node nodeLabel subNodes) ]
       )