TypeObject Pattern Reloaded