VaryingDelegate

fun <T : Variable> VaryingDelegate(factory: (GlslGenerator) -> T, precision: Precision, predicate: Boolean)