The role of a type system is to prove some property of you program is correct. The role of module system is dived your program into manageable/understandable chunks. An OO class confuses these too roles.