úÎ {  Varaint class((c) Jorge Santiago Alvarez Cuadros, 2015GPL-3sanjorgek@ciencias.unam.mx experimentalportableSafeYou can defineNinstance (Varaint a) => Arbitrary a where {arbitrary = oneof [valid, invalid]})Get a generator of valid random data type+Get a generator of invalid random data typeVaraint 3-tupleOInvalid 3-tuple may had some valid data with invalid data or only invalid data."Valid 3-tuple had only valid data. Varaint tupleMInvalid tuple may had some valid data with invalid data or only invalid data. Valid tuple had only valid data.Varaint Either. Variant Maybe7Only Just data can be invalid, nothing always is valid.Variant of a list.!A valid list only had valid data.JA invalid list had only invalid data or some valid data with invalid data. 0QuickCheckVariant-0.1.0.4-JeELF4ZUHf62ggpCIZlFodTest.QuickCheck.VariantVariantvalidinvalid $fVariant(,,) $fVariant(,)$fVariantEither$fVariantMaybe $fVariant[]