Fix style: unnecessary do notation.
Fix style: white space in lambdas.
Fix style: white space around operators.
Move non-public modules into Internal namespace.
Implement "plain" interface.