Never used variants much.
But the below compiles, and then gives a SigSegV (w32).
Is that to be expected? Or ?
program Project1;
{$mode objfpc}{$H+}
uses
Classes;
procedure Foo(v1,v2: Variant; constref v3,v4: Variant);
begin
writeln(v1,v2,v3,v4);
end;
begin
Foo(1,'a',2,'bc'); // <<<<<<< Fails in this line
end.