added stew's eval + typer

renames free vars to avoid capture (in a crude way), typer and eval work