Allow 'this' access and test private function/var access
yield: Allow type parameters
yield:better naming