So take this example here: ''' proc adder(x: int, y: int): float {.discardable.} = var tempValue = float( x + y) echo tempValue adder(7,4)''' This works because of the {.discardable.}, or I would have to put - echo adder(7,4). What you're saying is, if I don't use the actual result of the function (like by 'echo-ing' it), I'll get the error. Is that right?