raulraja
11/28/2017, 1:03 PM@TypedProduct
data class Person(val name: String, val hairColor: Color) : Arity2<String, Int>
Person("Simon", Brown).map { name, hair -> Tuple2(name, Green) } // Person(simon, Green)
Tuple2("Raul", Brown).as<Person>() // Person(Raul, green)