What about:
```D
ptr struct S
{
int i;
}
void main()
{
S s = S(1);
writeln("s: ",s.i); //1
}
```
instead of:
```D
struct _S
{
int i;
}
alias S = _S*;
alias init(T:S) = (i) {return new PointerTarget!T(i);};//return
new _S(i)
void main()
{
S s = init!S(1);
writeln("s: ",s.i);//1
}
```