It can get the type of a string
auto result = extractTypes!string; assert(result == ["string"]);
It can get the type of a string list
auto result = extractTypes!(string[]); assert(result == ["string[]"]);
It can get the type of a string assoc array
auto result = extractTypes!(string[string]); assert(result == ["string[string]"]);
It can get all types of a class
interface I {} class T : I {} auto result = extractTypes!(T[]); assert(result[0] == "fluentasserts.core.evaluation.__unittest_L188_C1.T[]", `Expected: ` ~ result[0]); assert(result[1] == "object.Object[]", `Expected: ` ~ result[1] ); assert(result[2] == "fluentasserts.core.evaluation.__unittest_L188_C1.I[]", `Expected: ` ~ result[2] );