A type state in rust, also known as zero-sized types, is a type that would have a size of zero. Zero-sized types are significant because they allow for complete erasure of the runtime space that would be allocated for that type. The compiler makes use of this special case to make large optimizations that completely remove the cost of delegating to that type or one of its methods. This sort of extreme optimization is part of the zero-cost abstractions feature of Rust. When possible, Rust will allow for mental abstractions in code that create zero runtime penalty.