Use domains to contain failure