Regarding assignment, it doesn't have to depend on types being 
indistinguishable. E.g.:
    
    
    proc p(x: int) = echo "int"
    proc p(x: int8) = echo "int8"
    var x: int8
    x=3 # implicit conversion
    p x # int8
    p 3 # int
    

overloading works here, while allowing literal's assignment with implicit 
conversion.

Reply via email to