Thanks for the reply, guys. I think the part that confused me is that `proc 
aProc(): T` will happily return `default(T)` in case the return value is 
undefined by the end of its execution, as in, for instance:
    
    
    proc aProc*(): auto =
      if false:
        return 1
    
    # returns default(int) = 0
    
    
    Run

I assumed this would be a property of any block; i.e., if one of the paths is 
undefined then it'd just evaluate to `default(K)`, where K is the type inferred 
from the paths that actually have an evaluation type defined. But I guess 
that's not the way it works.

Reply via email to