```byval``` works with structs I suppose, but a quick test revealed that it cannot be applied to complex types and real/ireal.