I'm not sure if more files are the solution. The definition of types depends on filters and filters depend on types. Less files would definitely solve it, i.e. combine type-rep and filter-rep, but I'm not sure how more splitting would help.