Both print one and the same result value.
Why are there two ways of doing the same?
Is there any difference between std.math.sin() and @sin()?
If @sin() is somehow special, why not use in in std.math.sin()?
I do not understand this duality, could someone explain?
Thanks.

So std.math.sin() is a wrapper for the corresponding builtin function.
If we’d moved type checking into std.math.F() we would had to do this for every function in this category. Bless me… a mechanism similar to python decorators would be ideal for this, wouldn’t it?

My guess is that not having a sin function in the math library is a bit odd… where is the sin function, not everyone knows about @F. Sometimes @F is different from F, see @rem vs std.math.rem.