Toward cleaner type system :)