Explicit ExactlyOne; added flatMap method
Syntax improvements