solutions :: [Int] -> Int -> [Expr]
solutions ns n = [e | ns' <- choices ns, 
                      e   <- exprs ns',
                      eval e == [n]]
solutions :: [Int] -> Int -> [Expr]
solutions ns n = [e | ns' <- choices ns, 
                      e   <- exprs ns',
                      eval e == [n]]
solutions ns n = [e | ns' <- choices ns, 
                      e   <- exprs ns',
                      eval e == [n]]