Should we cache this computation? Do we need to use `::File` since this is mixed into recipes?