use the type system for good