struct What[T] {} // with or without generic interface Why[T] {} // no segfault without generic what := What{} why := Why(what)