PUT Patterns for Tool Developers