What is the best way to define my own custom types definations? - Theo's Typesafe Cult