Solidity contract compiler

See my assert comment above. May be use the asserts macro here , if recoverable (or an exception).