added string-length and substring
run contract for `s-exp`

Implement the contract as a function, so that it's a flat contract.
add support for type-annotations in define-values