Deduplicate pattern matching
Nest Success and Failure within Result

To be consistent with Option