See the first 3 examples in [https://nim-lang.github.io/Nim/manual#procedures](https://nim-lang.github.io/Nim/manual#procedures).
`;` is used to explicitly break the type propagation. In most use cases though (when not using `using`), there's not much distinction between `;` and `,`.