immutable x1 = mk!node1(); //succeeds? immutable y1 = mk_node1(); //fails
Nevermind, seems like templated functions get stronger coercion, like:
immutable y1 = cast(immutable)mk_node1();(Also no need to explain that immutable(node0) rewrites all the pointer types to immutable, I get it :-)