we only add () if necessary
fixed a problem when accessing val expressions