может сделать:
``` d 
ref Vector!(T, size) opOpAssign(string op)(ref const U scalar)
       if(op == "*" || op == "/")
      {
          foreach(i; 0..size)
             mixin("coordinates[i] " ~ op ~ "= cast(T)(scalar);");
       return this;
      }

```

?