(@ image-files:rc path mask .result +-                               image-files -rc = path mask + result ->
    (# files-in target (@ name +-                                      - files-in target ( name ->
                           ([IS_DIRECTORY] name >                                                  if name IS_DIRECTORY ->
                               (attach result (# image-files name mask))                             attach result (image-files name mask)
                           >                                                                       else
                               (# i name (@ n +- (attach result n)))                                 - i name ( n -> attach result n )
                           )                                                             )
                       )                                               ' target = path '/' mask
    -                                                                _
        (& path '/' mask .target)                                      path, mask : string
    )                                                                  result : A|L : string
+                                                                    ;
    {string} path mask
    {A|L : string} result
)                                                                    i image-files = name @fp ->
(@ i.image-files name @fp +-                                           - fp name
    (# fp name :                                                       [ name->has-image-ext && file-size name > 0 ]
        ('& [# has-image-ext] name && [> 0] (# file-size name))      ;
    )
)                                                                    has-image-ext i -a = name ->
(@ has-image-ext.i:a name +-                                           [ name '.png', '.gif', '.jpg', '.jpeg' ]
    [name '.png' / '.gif' / '.jpg' / '.jpeg']                        ;
)                                                                    













