Various metaprogramming helpers.
Forwards to std.algorithm.move iff t is non-copyable.
Mix it in inside a struct definition to make the struct non-copyable.
Used to compare alias lists.
Evaluates to true iff instances of T can be copied.
Tests if template S can be instantiated with argument list A and the instantiation is a type. Workaround for https://issues.dlang.org/show_bug.cgi?id=15623