request
        r   - A C 0 1
        e -|? ! ! ! !
        s A|? ✓ ✓ 0 1 Check this logic
        u C|? m ✓ 0 1
        l 0|? M M 0 !
        t 1|? M M ! 1

        - = No Care
        A = arbitrary
        C = Constant
        0 = ZERO
        1 = ONE

        ! = ERROR
        ? = NO CARE RESULT
        ✓ = Pass data directly
        m = will require reconfiguring argument and using multiple of prim
        M = Requires using multiple of several prims to satisfy requirement

def get_fitted_lv1_prim(self, reqef, bitcount):
        """
             request
        r   - A C 0 1
        e -|? ! ! ! !
        s A|? ✓ ✓ 0 1 Check this logic
        u C|? m ✓ 0 1
        l 0|? M M 0 !
        t 1|? M M ! 1

        - = No Care
        A = arbitrary
        C = Constant
        0 = ZERO
        1 = ONE

        ! = ERROR
        ? = NO CARE RESULT
        ✓ = Pass data directly
        m = will require reconfiguring argument and using multiple of prim
        M = Requires using multiple of several prims to satisfy requirement
        """
        res = self._fitted_lv1_prim_cache.get(reqef)
        if res:
            return res
        prim = self.get_best_lv1_prim(reqef, bitcount)
        dispatcher = PrimitiveLv1Dispatcher(self, prim, reqef)
        self._fitted_lv1_prim_cache[reqef] = dispatcher
        return dispatcher