Merge pull request #2350 from 9rnsr/fix10651

Issue 10651 - Throwing non-Throwable object causes ICE
Better error message for currently unsupported issue 8318
fix Issue 10007 - function overrides but is not covariant