TransactionType is now a sum type