Assertions that throw InternalCompilerErrors.

Why dont you use the asserts macro here? It slighty differs from your implementation by adding a debug break point (if I remember right)?