<commit_before>doc "Represents a file, link, or directory located at a 
     certain path, or the absence of a file or directory 
     at the path."
shared interface Resource 
        of ExistingResource|Nil {
    
    doc "The path of the file, link, or directory."
	shared formal Path path;
    
    doc "If this resource is a link, resolve the link."
    shared formal File|Directory|Nil linkedResource;
    
}

doc "A resource that actually exists, that is one that is
     not `Nil`."
shared interface ExistingResource 
        of File|Directory|Link
        satisfies Resource {
    
    doc "Delete this resource."
    shared formal Nil delete();
    
    doc "The principal name of the owner of the file."
    throws (NoSuchPrincipalException
           -> "If set to a name for which there is no 
               corresponding user.")
    shared formal variable String owner;
    <commit_msg>oops, that syntax is non-working... eventually we need to change throws() to accept  Type<Exception>|Type<Exception>->String<commit_after>doc "Represents a file, link, or directory located at a 
     certain path, or the absence of a file or directory 
     at the path."
shared interface Resource 
        of ExistingResource|Nil {
    
    doc "The path of the file, link, or directory."
	shared formal Path path;
    
    doc "If this resource is a link, resolve the link."
    shared formal File|Directory|Nil linkedResource;
    
}

doc "A resource that actually exists, that is one that is
     not `Nil`."
shared interface ExistingResource 
        of File|Directory|Link
        satisfies Resource {
    
    doc "Delete this resource."
    shared formal Nil delete();
    
    doc "The principal name of the owner of the file."
    throws (NoSuchPrincipalException,
            "If set to a name for which there is no 
             corresponding user.")
    shared formal variable String owner;
    
{'fraction_non_alphanumeric': 0.06027253668763103, 'fraction_numerical': 0.0, 'mean_word_length': 2.5951035781544256, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2874816', 'n_tokens_mistral': 489, 'n_tokens_neox': 478, 'n_words': 237}