Is a procedural type whose parameter list contains a generic type also a 
generic type? i.e. Can the following procedure take a `proc(x: int)` or 
`proc(x: float)` as callback, or does it take exactly a `proc(x: int | float)`?
    
    
    proc f(g: proc(x: int | float)) =
      discard
    
    
    Run

Is it equivalent to
    
    
    proc f(g: proc(x: int) or proc(x: float)) =
      discard
    
    
    Run

How about `auto`? Does the following accept any callback which takes one 
argument, given that the calling convention matches?
    
    
    proc f(g: proc(x: auto)) =
      discard
    
    
    Run

Reply via email to