Fix #776 by allowing the dispatcher to create new definition when in an ambiguous case.
Add test
Cleanup
Merge pull request #777 from sklam/fix776

Fix 776 allow dispatcher to compile new definition in ambiguous calls