Don't include macros in coverage
Re-read challenge again... make api conform to requirements
Fix docs
Note feature and refactoring opportunities