Patch: an interface also has the abstract modifier, so in order to correctly check if a passed in type is an interface, should check for interface modifier before checking for abstract modifier
Merge pull request #75 from august782/master

Fixed to check for interface modifier before checking for abstract modifier.

An interface also has the abstract modifier. We should check for interface modifier before checking for abstract modifier no to confuse users by error messages.