Write a Flow function `calculate(a: number, b: number, op?: MathOp): number` that evaluates a binary math operation using a `match` expression. When `op` is not provided, default to addition.

Each branch should perform the corresponding arithmetic operation on `a` and `b`.
