working universal, indef, and diff; plus inverse scope