Basic example with preferred contact
Input
user_summary(build_user('Jane','Doe', ('123 Main St','Springfield','IL','62704'), [('email','jane@example.com', True), ('phone','555-1234', False)]))
Output
Jane Doe, 123 Main St, Springfield, IL 62704. Primary: jane@example.com
build_user constructs objects, user_summary picks the preferred email and formats the address and primary contact.