creating a type based on the input - Theo's Typesafe Cult