Adds interface for each immutable type.

The interface lacks the With*() methods, which for now is intentional.