Support nested bindings and nested expressions

Fix #415.