add begin
add a cons type
ensure _eval is never apply'd
get rid of multi-arg logic in _eval