We present a generic type inference algorithm for Hindley/Milner style systems based on Constraint Handling Rules (CHRs). We are able to model Haskell-style type classes, records in style of Ohori and overloading in style of System O and System CT. Inference algorithms for each of the above systems can be derived by providing the appropriate CHRs and primitive functions. In previous work, we have introduced a general type class framework on CHRs. There, we focused on the study of theoretical properties such as decidable type inference. In this work we provide some practical evidence of our approach. We have actually implemented the CHR-based type inference algorithm (in Haskell) including a simple user interface which allows to design your own type system. We give an overview of the expressiveness of our system by example.