Thanks for the detailed reply...I think it helped pinpoint where I'm confused 
(aside from the runtime thing @mratsim mentioned):

"With interfaces, you define some named behaviours that some type must have, 
and the compiler can check that these names are defined and also do some type 
(interface) checks."

Once the compiler knows the concrete type being passed into a proc, it knows 
what behaviors are available for that type (eg what 'names are defined') and 
can complain on mis-match. This seemed equivalent to what interfaces provide ( 
at least in my limited understanding of both generics and interfaces)

Reply via email to