bad-argument
An argument is outside the domain of the phrase that received it.
Many phrases accept only part of their type. A delay must not be negative, net.Loss takes a chance from 0 to 1, net.Latency needs 0 ≤ a ≤ b, random.Between needs b not below a, and sim.Seed needs a whole number from 0 to 2^53. The message names the phrase and the value it refused.
In a look the same code covers a bad Tween property, a negative size, a Place cycle and similar mistakes in drawing.
Example
Run this program to see the diagnostic.
# package main
use std/sim
define main
after (0s minus 1s)
sim.StopAt 1s
Diagnostic
failed at 0s: p/main.synod:5:3: error[bad-argument]: after needs a delay of 0 or more, not -1s
Fix
Pass a value inside the domain, here a delay of 0 or more.
# package main
use std/sim
define main
after 1s
sim.StopAt 1s