putRules :: Monad m => [(Int, Rule a b)] -> InstanceBuilder a b m ()
putRules rs = do (g, t, _, r) <- get
                 put $ (g, t, rs, r)

-- | Gets the id of the currently selected rule
putRules :: Monad m => [(Int, Rule a b)] -> InstanceBuilder a b m ()
putRules rs = do (g, t, _, r) <- get
                 put $ (g, t, rs, r)

-- | Gets the id of the currently selected rule
putRules rs = do (g, t, _, r) <- get
                 put $ (g, t, rs, r)

-- | Gets the id of the currently selected rule